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)
-
判断请求
-
内置一些对象
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 //响应
-
输出页面前增加的代码
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");
-
以上的这些个对象我们可以在JSP页面中直接使用!
-
总的来说,在JSP页面中:
- 只要是 JAVA 代码就会原封不动的输出;
- 如果是HTML代码,就会被转换为:
out.write("<html>\r\n");
这样的格式,输出到前端
标签:javax,write,JSP,原理,servlet,pageContext,out 来源: https://www.cnblogs.com/xypersonal/p/16321065.html