jsp作用
jsp的全称是java server pages。Java的服务器页面。
jsp的主要作用是代替servlet程序回传 html页面的数据。
因为Servlet程序回传 html页面数据是一件非常繁锁的事情。开发成本和维护成本都极高。
Servlet程序回传Html页面示例
package com.ftn.servlet;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.IOException;
import java.io.PrintWriter;
public class PrintHtml extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//通过响应的回传流回传html页面数据
response.setContentType( "text/html; charset=UTF-8" );
PrintWriter writer = response.getWriter();
writer.write("<!DOCTYPE htm1>\r\n");
writer.write("<html lang=\"en\">\r\n");
writer.write("<head>\r\n" );
writer.write(" <meta charset=\"UTF-8\">\r\n");
writer.write(" <title>Title</title>\r\n");
writer.write("</head>\r\n");
writer.write("<body>\r\n");
writer.write(" 这是html页面数据\r\n");
writer.write("</body>\r\n");
writer.write("</html>\r\n");
writer.write("\r\n");
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
}
jsp创建方式
jsp如何访问
jsp页面和html页面一样,都是存放在web目录下。访问也跟访问html页面一样。
比如:
在web目录下有如下的文件:
web目录
a.html页面
访问地址是=======>>>>>>> http://ip:port/工程路径/a.html
b.jsp页面
访问地址是=======>>>>>> http://ip:port/工程路径/b.jsp
jsp的本质
jsp页面本质上是一个 servlet程序。
当我们第一次访问jsp页面的时候。Tomcat服务器会帮我们把jsp页面翻译成为一个java源文件。并且对它进行编译成为.class字节码程序。我们打开java源文件不难发现其里面的内容是:
我们跟踪源代码发现,HttpJspBase类直接地继承了HttpServlet类。也就是说。jsp翻译出来的java类,间接的线承了HttpServlet类。即翻译出来的是一个servlet程序。
总结:通过翻译的java源代码我们就可以得到结果:jsp就是servlet程序。
我们也可以去观察翻译出来的Servlet程序的源代码,不难发现,其底层实现也是通过输出流,把 html 页面数据回传给客户端。