JSP执行原理

0、介绍

单纯的servlet类如果要输出一个网页的话十分麻烦,需要先获取到输出对象,并将每一句html代码以字符串的形式输出

out.write("<html>\n");
out.write("  <head>\n");
out.write("    <title>$Title$</title>\n");
out.write("  </head>\n");
out.write("  <body>\n");
out.write("<h1>Hello World</h1>");
out.write("  </body>\n");
out.write("</html>\n");

如果要写一个比较大的页面的话,仅仅是用servlet来写十分麻烦,所以就开发了jsp技术。(jsp--->java servlet page),JSP就是通过相关的类将html代码翻译成java代码。jsp页面本质上还是一个servlet类。

1、JSP相关技术

1.1嵌入java表达式

只需要将java表达式写入<%= %>即可

如:

 

<h1>sum: <%= sum%></h1>

 

这里sum是一个java变量。因为jsp最终是翻译成java代码,所以你可以把sum看成是之前定义的java变量。这行代码会被翻译成

out.write("  <h1>sum: ");
out.print( sum);
out.write("</h1>\n");

可以看到一行代码如果使用servlet来写的话可能就需要使用三行了。

1.2嵌入java代码

用<% %>把java代码括起来

 

<%
    int sum = 0;
    for (int i = 0; i <= 100; i++) {
        sum += i;
    }
%>

 

这个代码块在被翻译成java代码时,直接将<%%>这个符号去掉,将中间的java代码保留。从java代码的角度来看,后面的代码是可以使用sum这个变量的。

1.3嵌入java方法

使用<%! %>包裹java方法就可以添加一个方法了

<%!
  public String getString(){
    return "Hello JSP.";
  }
%>

<h1><%= getString()%></h1>

使用idea的同学可以在C:\Users\{用户目录}\.IntelliJIdea2019.3\system\tomcat\Unnamed_javaweb-jsp\work\Catalina\localhost\jsp1\org\apache\jsp下找到jsp翻译成.java文件。

 

posted @ 2020-08-30 16:57  LIFue  阅读(128)  评论(0)    收藏  举报