JSP与Servlet的介绍说明
什么是servlet和jsp
用java开发web应用程序时用到的技术主要有两种,即servlet和jsp。 servlet是在服务器端执行的java程序,一个被称为servlet容器的程序(其实就是服务器) 负责执行java程序。而jsp(java server page)则是一个页面, 由jsp容器负责执行。
servlet和jsp两者最大的区别就是,servlet以java程序为主, 输出html代码时需要使用out.println函数,也就是说java中内嵌html; 而jsp则以html页面为主,需要写java代码时则在页面中直接插入java代码, 即html中内嵌java。典型的例子如下:
jsp文件
<html>
<body>
<h1>
<% out.println("jsp"); %>
</h1>
</body>
</html>
servlet
public class myservlet ... {
...
out.println("<html>");
out.println("<body>");
out.println("<h1>");
out.println("servlet);
out.println("</h1>");
out.println("</body>");
out.println("</html>");
}
可见,jsp便于输出,而servlet便于进行逻辑处理。因此实际应用中两者常常结合使用,各司其职。
而tomcat就是上面提到的servlet容器和jsp容器。 各个版本对servlet/jsp协议支持的情况如下:
tomcat版本 | 支持servlet | 支持jsp |
6.0.x | 2.5 | 2.1 |
5.5.x | 2.4 | 2.0 |
4.1.x | 2.3 | 1.2 |
3.3.x | 2.2 | 1.1 |
web应用程序的结构
tomcat安装好以后, 可以去看看tomcat目录下的webapps目录。这个目录就是用来保存web应用程序的。
上图的根目录就是应当放置在 webapps 目录下的目录。web-inf目录无法从浏览器中访问。 web-inf/classes下保存的是编译后的java程序(主要是servlet),web-inf/lib 下保存的是 运行时使用的库文件(.jar文件),web.xml则是整个应用程序的配置信息。
其他文件例如 .jsp、图片、javascript脚本等,都可以直接放到web应用程序的根目录下。
mvc模型
所谓mvc模型就是将数据、逻辑处理、用户界面分离的一种方法。
- m(model, 模型):用于数据处理、逻辑处理。
- v(view,视图):用于显示用户界面。
- c(controller,控制器):根据客户端的请求控制逻辑走向和画面。
而在java中,mvc这三个部分则分别对应于 javabeans、jsp和servlet。
- m = javabeans:用于传递数据,拥有与数据相关的逻辑处理。
- v = jsp:从model接收数据并生成html
- c = servlet:接收http请求并控制model和view
画成图则如下所示: