1、JSP


1.1、什么是JSP

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

最大的特点

  • 写JSP就像在写HTML一样
  • 区别:
    • HTML只给用户提供静态的数据
    • JSP页面中可以嵌入JAVA代码,为用户提供动态数据

1.2、JSP原理

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

  • 代码层面没有任何问题
  • 服务器内部工作
    • tomcat中有一个work目录;
    • 在IDEA中使用Tomcat的会在IDEA的Tomcat中生成一个work目录
      在这里插入图片描述

页面转变成了Java程序

浏览器向服务器发送请求,不管访问什么资源,其实都是在访问Servlet!

JSP最终也会被转换成为一个Java类

JSP本质上就是一个Servlet

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

1、判断请求

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:当前
HttpServletRequest request //请求
HttpServletResponse response //响应

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的理解
在这里插入图片描述
用户需要通过电脑上网,上网的本质是访问一台服务器,服务器里面有多个web容器(Tomcat中有很多网站),它会去判断你的请求,如果您的请求是jsp会给你一个jsp页面,jsp页面不能直接使用,它会给你一个转换,将jsp页面转换为Java文件—xxx_jsp.java,得到这个文件后要运行它,将它编译,xxx_jsp.class,编译到class后将其放到服务器中,用户真正拿到的就是服务器处理完毕的class对象,这个对象就是一个Servlet

只要是 JAVA代码就会原封不动的输出;
如果是HTML代码,就会被转换为:

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

这样的格式,输出到前端

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐