首页 > 代码库 > java Web(2)

java Web(2)

Servlet与web容器的配合:

  1)客户端向Web服务器发起一个HTTP请求。

  2)HTTP请求被Web服务器接受,如果请求的是静态页面,则由Web服务器负责处理。如果请求的是Java Web组件(Servlet或者JSP),则移交给Web容器。Web容器可以在主               机的同一个进程、不同的进程或其他的Web服务主机的进程中启动。

  3)Web容器根据Servlet的配置文件确定调用的具体Servlet类,并把request对象、response对象传给它。

  4)Servlet通过request对象知道客户端的使用者是谁,客户的请求信息是什么和其他的一些信息。Servlet处理完请求后把要返回的信息放入response对象返回到客户端。

  5)一旦Servlet完成了请求的处理,Web容器就会刷新response,把控制权返回给web服务器。

技术分享

WEB-INF很重要的文件,不可或缺,lib放网页需要用到的Java包等;

总结:

HTTP是一套计算机在网络中通信的一种规则
HTTP请求包含请求行、请求头、空行和消息体
HTTP响应包含状态行、响应头、空行和消息体
Web服务器存在缺陷
CGI程序严重消耗服务器资源,Servlet可以消除这种缺陷
Web容器给处于容器中的应用程序组件提供一个环境
一个web应用程序包括配置文件、静态文件、JSP、类文件和包
Tomcat既是一个优秀的JSP/Servlet容器,也是一个HTTP服务器
server.xml和web.xml是Tomcat主要的配置文件
welcome-file-list指示服务器在收到一个目录名而不是文件名的URL时,使用哪个文件;

服务器启动首先读取 web.xml文件;

 

 

web.xml文件的配置:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<!-- 注册 -->
 <servlet>
 <!-- 注册名(必须唯一);一般命名为,自己书写的servlet名字 -->
    <servlet-name>TestHttpServlet</servlet-name>
    <!-- 给定书写的servlet的全类名(包名+类名)
    (目的是让web容器采用反射机制来创建servlet的实例) -->
    <servlet-class>com.lovo.servlet.TestHttpServlet</servlet-class>
  </servlet>
  <!-- 映射servlet 路径 -->
  <servlet-mapping>
  <!-- 给注册的servlet映射命名(注册,名字和映射名字一样) -->
    <servlet-name>TestHttpServlet</servlet-name>
    <!-- 映射路径,以类名命名 -->
    <url-pattern>/one</url-pattern>
  </servlet-mapping>
</web-app>

  

 

java Web(2)