JSP原理★

JSP 原理

JSP 到底怎么执行的?

  • 代码层面没有任何问题

  • 服务器内部工作
    tomcat中有一个work目录;

    IDEA中使用 Tomcat 时会在 IDEA 的 tomcat 中生产一个 work 目录

    发现页面转变成了Java程序

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

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

JSP 本质上就是一个Servlet

  • JSP源码剖析

    //初始化
    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;
      
      //输出页面
      out.write("<html>\n");
      out.write("<body>\n");
      out.write("<h2>Hello World!</h2>\n");
      out.write("</body>\n");
      out.write("</html>\n");
      
    4. 以上的这些个对象我们可以在JSP页面中直接使用!


总的来说,在JSP页面中:

  • 只要是 JAVA 代码就会原封不动的输出;
  • 如果是HTML代码,就会被转换为:out.write("<html>\r\n");

这样的格式,输出到前端

posted @   无关风月7707  阅读(24)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示