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文件。

浙公网安备 33010602011771号