JSP运行原理

傷城~ 2023-01-04 14:40 286阅读 0赞

1、什么是jsp,它的作用又是什么

jsp页面本质上是一个Servlet程序,它的全称是Java server pages,是Java的服务器页面

它的作用主要是代替Servlet程序的回传的html页面数据,servlet程序回传html页面数据是比较繁琐的。

就比如在servlet程序中回传html页面数据,需要如下做:

  1. @WebServlet("/a")
  2. public class PrintHtml extends HttpServlet {
  3. @Override
  4. protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
  5. resp.setContentType("text/html;charset=UTF-8");
  6. PrintWriter writer = resp.getWriter();
  7. writer.println("<html>");
  8. writer.println("<head>");
  9. writer.println("<title>Title</title>");
  10. writer.println("</head>");
  11. writer.println("<html>");
  12. writer.println("<body>");
  13. writer.println("<div style='height:100px;background:red;'>"+"登录成功");
  14. writer.println("</div>");
  15. writer.println("</body>");
  16. }
  17. }

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzcyNTUxNw_size_16_color_FFFFFF_t_70

还是简单的一个html页面回传,就需要大量代码,这样就比较繁琐。

2、jsp的组成

jsp=html + Java脚本 + jsp标签(指令)

Java脚本:

1、<% ……. %>:在这个里面书写Java代码片

2、<% = …… %>: 用于输出,输出一个表达式的结果

3、<%! ….%> :声明,用来创建类的成员变量和成员方法

3、jsp本质是什么

jsp其实就是本质上就是servlet程序

就是在我们第一次访问jsp页面时候,Tomcat服务器会帮我们把xxx.jsp页面翻译成Java源文件和对应的.class字节码文件

我们在运行idea时,在电脑上搜索下面路径就会出现文件

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzcyNTUxNw_size_16_color_FFFFFF_t_70 1

20210110211617801.png

点开work目录一直点击就可以看到项目,当我们访问index.jsp页面时,我们可以在项目中出现org目录,这里Tomcat就会帮我们生成.java和.class文件

在.java文件中我们可以看到对应的xxx.jsp被写成一个xxx_jsp类继承extends org.apache.jasper.runtime.HttpJspBase这个类

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzcyNTUxNw_size_16_color_FFFFFF_t_70 2

在下面的代码中我们看到servlet程序回传html页面数据

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzcyNTUxNw_size_16_color_FFFFFF_t_70 3

所以总结起来就是jsp页面就是Servlet程序,而它本质上也是继承了HttpServlet的,而在这就是HttpJspBase继承了HttpServlet

在看一张图,就可以清楚看见关系:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzcyNTUxNw_size_16_color_FFFFFF_t_70 4

#

发表评论

表情:
评论列表 (有 0 条评论,286人围观)

还没有评论,来说两句吧...

相关阅读

    相关 JSP运行原理

    1、什么是jsp,它的作用又是什么  jsp页面本质上是一个Servlet程序,它的全称是Java server pages,是Java的服务器页面 它的作用主要是代替

    相关 JSP原理

    什么是JSP?   JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术。   JSP这门技