什么是Servlet和JSP

时间:2019-06-05 16:17:37 类型: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文件

  复制代码代码如下:

  Servlet

  复制代码代码如下:

  public class MyServlet ... {

  ...

  out.println("");

  out.println("");

  out.println("

  ");

  out.println("Servlet);

  out.println("");

  out.println("");

  out.println("");

  }

  可见,JSP便于输出,而Servlet便于进行逻辑处理。因此实际应用中两者常常结合使用,各司其职。

  而Tomcat就是上面提到的Servlet容器JSP容器。 各个版本对Servlet/JSP协议支持的情况如下:

  Tomcat版本支持Servlet支持JSP

          

Tomcat版本 支持Servlet 支持JSP
6.0.x 2.5 2.1
5.5.x 2.4 1.2

 

  Web应用程序的结构

  Tomcat安装好以后, 可以去看看tomcat目录下的webapps目录。这个目录就是用来保存Web应用程序的。

 

  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