JSP原理解析

一.什么是JSP

JSP(全称JavaServer Pages),JSP部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成HTML、XML或其他格式文档的Web网页,然后返回给请求者。简单的说就是将java语言嵌入静态页面中,实现动态网页。

二.JSP原理

通过访问tomcat目录或者访问IDEA目录查看,在编译的时候,新建的jsp文件会有两个文件,分别是index_jsp.class和index_jsp.java。
浏览器向服务器发送请求,不管访问什么资源,其实都是在 访问servlet
在这里插入图片描述
由此可以看到,jsp最终会转化成一个java类,jsp本质上就是servlet
在编译的时候转化成.class文件

接下来我们去查看源码
在这里插入图片描述
在这个类中,继承的是HttpJspBase,而这个类是继承自HttpServlet的。所以正面jsp就是一个servlet
在这里插入图片描述
类中的方法:

public void _jspInit() {
  }

  public void _jspDestroy() {
  }

  public void _jspService(HttpServletRequest request, final .HttpServletResponse response)

内置的对象

 	final javax.servlet.jsp.PageContext pageContext; //页面上下文
    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;   //当前页面

初始化对象

response.setContentType("text/html; charset=UTF-8"); //设置相应页面类型
      pageContext = _jspxFactory.getPageContext(this, request, response,
      			null, false, 8192, true);
      _jspx_page_context = pageContext;
      application = pageContext.getServletContext();
      config = pageContext.getServletConfig();
      out = pageContext.getOut();
      _jspx_out = out;

      out.write("\r\n");
      out.write("\r\n");

自己理解后画的流程图
在这里插入图片描述
在jsp页面中,如果写的是java代码,就会原样输出,调用的是out.print(xxx)
如果写的是html代码,则会调用out.write(" xxx"),输出到前端。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值