现在的位置: 首页 > 综合 > 正文

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

2013年10月31日 ⁄ 综合 ⁄ 共 1291字 ⁄ 字号 评论关闭

关于BS结构(浏览器-服务器结构)、HTTP基本原理等基础知识相信大家比我清楚,我就不废话了。不知道的同学去google一下。

什么是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-structure.gif

上图的根目录就是应当放置在 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

画成图则如下所示:

jsp-mvc-model.gif

抱歉!评论已关闭.