文章目录
一、jsp是什么
JSP(全称 Java Server Pages)是由 Sun 公司专门为了解决动态生成HTML 文档的技术。
Servlet输出html页面
public class ErrorServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setCharacterEncoding("UTF-8");//编码方式
resp.setContentType("text/html");//设置为html格式
PrintWriter writer = resp.getWriter();
writer.write("<h1>这是错误页面<h1/>");
}
通过上面的代码不难发现servlet输出html页面非常不简单以及不方便。
所以就诞生出了jsp技术来实现动态页面
jsp页面不能直接通过浏览器访问,而是需要浏览器通过访问Tomcat服务器访问jsp页面
二、jsp的运行原理
jsp的本质,其实是一个Servlet程序
当我们写好jsp文件,然后通过浏览器访问的时候其实后台自己创建了对应的xx_jsp.java文件
JSP执行过程:
1、首先,客户端发出请求(request ),请求访问JSP网页
2、接着,JSP Container将要访问的.JSP文件 转译成Servlet的源代码(.java文件)
3、然后,将产生的Servlet的源代码(.java文件)经过编译,生成.class文件,并加载到内存执行
4、最后把结果响应(response )给客户端
执行JSP网页文件时,需要经过两个时期:转译时期(TranslationTime)和请求时期(RequestTime)。
转译时期:JSP转译成Servlet类(.class文件)。
请求时期:Servlet类(.class文件)执行后,响应结果至客户端。
转译期间主要做了两件事情:
(1)将JSP网页转译为Servlet源代码(.java),此段称为转译时期(Translation time);
(2)将Servlet源代码(.java)编译成Servlet类(.class),此阶段称为编译时期(Compilation time)。
其实,JSP就是一个Servlet。