什么是JSP
JSP全名為Java Server Pages,java服務器頁面。JSP是一種基于文本的程序,其特點就是HTML和Java代碼共同存在!
為什么需要JSP
JSP是為了簡化Servlet的工作出現的替代品,Servlet輸出HTML非常困難,JSP就是替代Servlet輸出HTML的。
簡單使用一下JSP
- 在idea下生成一個JSP,我們來看一下JSP長什么樣子
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>簡單使用JSP</title> </head> <body> </body> </html> - 看起來就像一個HTML頁面,前面也說了:JSP的特點就是HTML和Java代碼共同存在
- 我們向瀏覽器輸出一句HelloWorld,至于<%%>這個東西,我先不解釋!
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>簡單使用JSP</title> </head> <body> <% String s = "HelloWorld"; out.println(s); %> </body> </html> JSP的工作原理
- 在Tomcat博客中我提到過:Tomcat訪問任何的資源都是在訪問Servlet!,當然了,JSP也不例外!JSP本身就是一種Servlet。為什么我說JSP本身就是一種Servlet呢?其實JSP在第一次被訪問的時候會被編譯為HttpJspPage類(該類是HttpServlet的一個子類)
- 剛才我簡單使用了一下JSP,它被編譯成了這么一個Servlet:
package org.apache.jsp;import javax.servlet.*; import javax.servlet.http.*; import javax.servlet.jsp.*; import java.util.Date; public final class _1_jsp extends org.apache.jasper.runtime.HttpJspBase implements org.apache.jasper.runtime.JspSourceDependent { private static final JspFactory _jspxFactory = JspFactory.getDefaultFactory(); private static java.util.List<String> _jspx_dependants; private javax.el.ExpressionFactory _el_expressionfactory; private org.apache.tomcat.InstanceManager _jsp_instancemanager; public java.util.List<String> getDependants() { return _jspx_dependants; } public void _jspInit() { _el_expressionfactory = _jspxFactory.getJspApplicationContext(getServletConfig().getServletContext()).getExpressionFactory(); _jsp_instancemanager = org.apache.jasper.runtime.InstanceManagerFactory.getInstanceManager(getServletConfig()); } public void _jspDestroy() { } public void _jspService(final HttpServletRequest request, final HttpServletResponse response) throws java.io.IOException, ServletException { final PageContext pageContext; HttpSession session = null; final ServletContext application; final ServletConfig config; JspWriter out = null; final Object page = this; JspWriter _jspx_out = null; PageContext _jspx_page_context = null; try { response.setContentType("text/html;charset=UTF-8"); 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("\r\n"); out.write("\r\n"); out.write("<html>\r\n"); out.write("<head>\r\n"); out.write(" <title>簡單使用JSP</title>\r\n"); out.write("</head>\r\n"); out.write("<body>\r\n
總結
以上是生活随笔為你收集整理的JAVA知识积累 JSP第一篇【JSP介绍、工作原理、生命周期、语法、指令、行为】...的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。