jsp介绍

一:jsp

是java server page  java 服务器页面。

jsp本质上是一个servlet,在html上嵌套java代码。

运行在服务器端,处理请求,生成动态内容。

对应的java文件和class文件是在tomcat的work目录中,在访问jsp的时候,会在work目录生成对应的java代码和class文件。

后缀名:.jsp

执行流程:

1) 浏览器发送请求,请求jsp页面。

2)服务端接收请求,会根据请求,查找对应的jsp文件。

这个是由tomcat的servlet来完成。

 1     <servlet>
 2         <servlet-name>jsp</servlet-name>
 3         <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
 4         <init-param>
 5             <param-name>fork</param-name>
 6             <param-value>false</param-value>
 7         </init-param>
 8         <init-param>
 9             <param-name>xpoweredBy</param-name>
10             <param-value>false</param-value>
11         </init-param>
12         <load-on-startup>3</load-on-startup>
13     </servlet>
1     <!-- The mappings for the JSP servlet -->
2     <servlet-mapping>
3         <servlet-name>jsp</servlet-name>
4         <url-pattern>*.jsp</url-pattern>
5         <url-pattern>*.jspx</url-pattern>
6     </servlet-mapping>

3)服务端会根据jsp文件生成对应的java文件。

会自动生成对应的java代码。

4)jvm会把对应的java文件编译成class文件。

查看java代码:

在tomcat 的lib目录查看jasper.jar

实质就是java的一个servlet,他也有init、service、destroy等方法。

5)服务器运行class文件,生成动态内容。

6)将生成的动态内容发送给服务器。

7)服务器组成响应的内容,发送给浏览器。

8)浏览器接收数据,展示页面。

二:jsp如何运行java代码。

1)<%...%>:java程序代码片段。输出的代码在tomcat的console里。

 

2)<%=...%> 输出表达式,生成在java代码里的service 方法中,相当于输出 out.print()方法,在页面上显示。

3)<%!%> 声明成员,在类的成员中。直接映射到java代码的成员位置定义,区别于在<%%>定义,这个定义的变量有顺序问题。

 1 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
 2 <html>
 3   <head>
 4     <title>$Title$</title>
 5   </head>
 6   <body>
 7   <%System.out.println(222);
 8 
 9   %>
10   <%! int i=2;
11   %>
12   <%out.print(i);%>
13   <%= 888888%>
14   </body>
15 </html>
原文地址:https://www.cnblogs.com/evilliu/p/8596114.html