这章介绍JSP出现的及解决的问题。
我们在编写servet的时候会发现,如果servet响应给浏览器,那么我们一般返回一个HTML,只不过这个HTML是servlet程序生成的,虚拟的。如下面的servet代码(现在不懂不要紧,看一下servlet学习资料就行了,2.1章有推荐的)
import java.io.PrintWriter;
…
protected void doGet(...) throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
response.setCharacterEncoding("utf-8");
PrintWriter out=response.getWriter();
java.util.Date today=new java.util.Date();
out.println("<body>这是我第一个servlet</body><br>"+ today);
}
上面是doGet方法中,编写用户用get请求返回的HTML代码
在servlet做响应的时候嵌入一些HTML代码,当我用servlet进行html美化那是件很痛苦的事,out.write()不能换行。那不是servlet的强项所在。
既然在servlet插入html代码很痛苦,那么我们能不能反过来,从html插入servlet或java代码。
于是工程师门把servet进行一些改装,使它能实现在html中插入java代码,再给它起一个名字叫jsp。
从上面知道其实jsp本质也是servet,最终jsp代码还是会转换为servlet代码。
PS:这样子是不是就成了处理逻辑用servet,那属于后台了;界面呈现美化就交给jsp,是不是属于前端了,这样也能实现简单的前后端分工,并不是分离,它们目前还在合一起。