[javaEE] jsp入门

Servlet写java代码很好,但是拼接html的时候,非常不方便

JSP可以在html中嵌套java代码,这样在展示的时候,就会比较方便

Tomcat帮我们把jsp的页面翻译成了Servlet去运行的,查看目录

Tomcat目录\work\Catalina\localhost\

生成一个xxx_jsp.java的Servlet文件,jsp的脚本片段放在了_jspService()方法里面

使用eclipse创建项目以后,修改一下发布路径,直接发布到Tomcat的webapps目录下,

在Servers标签栏,先删除下面的项目,在右键点open,选择use Tomcat installation

jsp声明:<%! 若干java代码%>,此处的代码会解析到类的成员的地方

jsp注释:<%--注释的内容--%>

index.jsp

<%@page import="org.apache.jasper.tagplugins.jstl.core.Out"%>
<%@page import="java.util.Date"%>
<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>首页</title>
</head>
<body>
<%!
public void test(){
    int a=0;
}
%>
<% 
for(int i=0;i<5;i++){
    out.write(i+"");
}
%>
<%-- 
Date date=new Date();
out.write(date.toLocaleString());
--%>
你好,JSP
</body>
</html>

index_jsp.java

public final class index_jsp extends org.apache.jasper.runtime.HttpJspBase
    implements org.apache.jasper.runtime.JspSourceDependent {


public void test(){
    int a=0;
}
 public void _jspService(final javax.servlet.http.HttpServletRequest request, final javax.servlet.http.HttpServletResponse response)
        throws java.io.IOException, javax.servlet.ServletException {

    final javax.servlet.jsp.PageContext pageContext;
    javax.servlet.http.HttpSession session = null;
    final javax.servlet.ServletContext application;
    final javax.servlet.ServletConfig config;
    javax.servlet.jsp.JspWriter out = null;
    final java.lang.Object page = this;
    javax.servlet.jsp.JspWriter _jspx_out = null;
    javax.servlet.jsp.PageContext _jspx_page_context = null;


    try {
      response.setContentType("text/html; charset=utf-8");
      pageContext = _jspxFactory.getPageContext(this, request, response,
                  null, true, 8192, true);
      _jspx_page_context = pageContext;
      application = pageContext.getServletContext();
      config = pageContext.getServletConfig();
      session = pageContext.getSession();
      out = pageContext.getOut();
      _jspx_out = out;

      out.write("\r\n");
      out.write("\r\n");
      out.write("\r\n");
      out.write("<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\r\n");
      out.write("<html>\r\n");
      out.write("<head>\r\n");
      out.write("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\r\n");
      out.write("<title>首页</title>\r\n");
      out.write("</head>\r\n");
      out.write("<body>\r\n");
      out.write('\r');
      out.write('\n');
 
for(int i=0;i<5;i++){
    out.write(i+"");
}

      out.write('\r');
      out.write('\n');
      out.write("\r\n");
      out.write("你好,JSP\r\n");
      out.write("</body>\r\n");
      out.write("</html>");
    } catch (java.lang.Throwable t) {
      if (!(t instanceof javax.servlet.jsp.SkipPageException)){
        out = _jspx_out;
        if (out != null && out.getBufferSize() != 0)
          try {
            if (response.isCommitted()) {
              out.flush();
            } else {
              out.clearBuffer();
            }
          } catch (java.io.IOException e) {}
        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
        else throw new ServletException(t);
      }
    } finally {
      _jspxFactory.releasePageContext(_jspx_page_context);
    }
  }

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • [javaSE] 数据结构(二叉树-遍历与查找)

    陶士涵
  • [Go] golang的error接口

    error接口 1.error就是一个接口interface 2.属于errors包,该包有一个导出方法New,返回了errorString类型 3.error...

    陶士涵
  • [Go] 使用go语言解决现代编程难题

    1.计算机一直在演化,64核,128核等等,但是我们依旧在使用为单核设计的技术编程 2.Go语言让分享自己的代码包更容易 3.Go语言重新思考传统的面向对象,提...

    陶士涵
  • 图解JSP运行原理和过程

    下面代码通过注解来处理/hello的请求, 并在代码中将请求转发到上述hello.jsp.

    望天
  • Java--自动装箱、拆箱与遍历循环

    SuperHeroes
  • 日历(Calendar)_java版(某年的日历,某月的日历)_用户完全自定义

    ========================================================

    Hongten
  • Bootstrap Table -detailView和detailFilter的使用

    (adsbygoogle = window.adsbygoogle || []).push({});

    tianyawhl
  • 第203天:js---Array对象常用方法

    半指温柔乐
  • 如何在开源项目中学到更多?

    作者 | 龙辉 文章来源GitChat,CSDN独家合作发布,查看交流实录:http://gitbook.cn/books/597f36a9662c502c5...

    CSDN技术头条
  • .net里的ref、out、params参数。

    指尖改变世界

扫码关注云+社区

领取腾讯云代金券