不灭的焱

革命尚未成功,同志仍须努力

作者:php-note.com  发布于:2013-04-19 11:07  分类:Java基础 

什么是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

画成图则如下所示:



 


延伸阅读:

Servlet/JSP学习笔记(1)-基础知识

Servlet/JSP学习笔记(2)-Servlet入门

Servlet/JSP学习笔记(3)-HttpServlet

Servlet/JSP学习笔记(4)-从配置文件获取参数

Servlet/JSP学习笔记(5)-Session和作用域

Servlet/JSP学习笔记(6)-Filter的应用