JAVAWeb -- jsp 正式进入java服务器端

一.JSP

Java   Servlet  Pages : java服务器端页面,也和servlet一样,用于动态web技术

最大的特点:
写jsp就像在写在写html

区别:

Html只给用户提供静态数据

jsp页面中可以嵌入Java代码,为用户提供动态数据

二.JSP原理

思路:JSP到底是怎么执行的

代码层面,和HTML没有区别

需求去看服务器内部工作原理

a.    tomcat中有一个work目录

b.  IDEA在使用tomcat的时候会生成一个work目录

 

进入了这个目录后,可以发现,jsp转换为了一个java文件

总结:浏览器不管怎么请求jsp页面,实际上就是请求servlet

JSP也会最终转化为Java代码

JSP本质上就是一个servlet:jsp的头文件继承了HTTPservlet

1.请求判断

//初始化  
public void _jspInit() { } //销毁 public void _jspDestroy() { } //Jspservice public void _jspService(HttpServletRequest request, HttpServletResponse response)

 

2.内置了一些对象

 

final javax.servlet.jsp.PageContext pageContext;                                //页面上下文
javax.servlet.http.HttpSession session = null;                                     //session  会话
final javax.servlet.ServletContext application;                                     //applicationcontext
final javax.servlet.ServletConfig config;                                              //config
javax.servlet.jsp.JspWriter out = null;                                                 //out   网页输出对象
final java.lang.Object page = this;                                                      //page   当前页面
javax.servlet.jsp.JspWriter _jspx_out = null;                                      //请求
javax.servlet.jsp.PageContext _jspx_page_context = null;                //响应

3.输出页面前增加的代码

      response.setContentType("text/html");                                   //设置页面响应类型,以网页显现
      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;
//这些对象都可以在jsp中直接使用,这是已经编译好的

在jsp页面中:

只要是Java代码都会原封不动的输出;

如果是HTML代码,就会被转换为:

 out.write("<html>\n");

实际上就是Java的输出:然后被写到前端

服务器响应客户端的JSP原理:

1.用户通过浏览器向服务器申请了jsp资源

2.服务器加载所需要的jsp页面

3.将jsp页面转换为Java文件:XXX_jsp.java

4.编译转换过来的Java文件

5.变成可执行文件:XXX——jsp.class

6.可执行Java文件响应到服务器中

7.服务器这时候响应客户,返回已经编译好了的Java文件,只不过是以网页形式

posted @ 2022-10-31 22:05  回忆也交给时间  阅读(51)  评论(0编辑  收藏  举报