第一章 Java Web工作原理

一:在本章我们将学到如下的内容

》HTTP协议原理

》服务器端Web编程原理

》Servlet与Web容器

》Java Web应用程序的组成

》Tomcat介绍

 

一:1.1解析HTTP协议

HTTP:超文本传输协议(HyperText Transfer Protocol)

HTTP是一种无状态的协议,意思是指在Web浏览器和Web服务器之间不需要建立持久的连接。

HTTP是遵循请求/响应(Request/Response)模型的。

HTTP处理流程:

 

 

1.1.1建立连接

在java底层代码中是这样实现的,子不过浏览器已经帮我们做了!

1.1.2 发送请求信息  一旦建立的TCP连接,Web浏览器就会向Web服务器发送请求命令。HTTP协议将请求封装成HTTP请求,他包括请求行,请求头,空行,消息体。

1.1.3 回送响应信息

1.1.4 关闭连接

 

1.2 Web服务器的缺陷;

只能向客户端提供静态网页内容
增加一个辅助应用生成动态页面 

辅助的在服务器端进行注册,根据参数查找并运行。

1.3 服务器端网页编程

建动态服务器端内容的过程
–CGI技术
–微软的ASP和ASP.NET技术
–基于Java的Servlet/JSP技术
 
 
1)CGI技术
CGI即通用网关接口(Common Gateway Interface)
最大优点是它可以用Shell、Perl、C、PHP、Python等编写  
但是CGI技术也有缺陷:

每次请求就打开一个CGI进程,严重消耗服务器资源。极大地限制了一个服务器可以支持的并发 CGI用户数量 。

2)java的解决法案

 

    Web容器;

Web容器负责管理和运行Servlet
容器对Servlet的支持包括
–通信支持
–生命周期管理
–多线程支持
–JSP支持

-处理安全性

    Servlet

1:Servlet是常规的Java代码。代码中用了一些新的API,但是不涉及新的语法。

2:Servlet代码中有我们不熟悉的重要语句。Servlet不属于J2SE,它属于单独的规范。

3:Servlet对标准类(HttpServlet)进行了扩展。

4:Servlet没有main()方法。

如:

 1 import javax.servlet.http.*;
 2 public class HelloWorld extends HttpServlet {
 3     public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException{
 4         response.setContentType("text/html");
 5         PrintWriter out = response.getWriter();
 6         out.println("<html>");
 7         out.println("<head>");
 8         out.println("<title>Hello World!</title>");
 9         out.println("</head>");
10         out.println("<body>");
11         out.println("<h1>Hello World!</h1>");
12         out.println("</body>");
13         out.println("</html>");
14     }
15 }
View Code

 

Servlet主要任务

读取客户端发送的显式和隐式数据
生成结果
向客户端发送显式数据(即文档)和隐式数据(HTTP响应数据) 
 
Servlet规范;
规范只定义了一个容器必须实现的标准功能
Servlet容器有很多不同的实现
–Tomcat
–Jboss
–WebLogic
–WebSphere
–Oracle9i AS 
 
    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服务器。

 

1.4 Java Web应用程序的组成

   

–配置文件
–静态文件和JSP
–类文件和包 
 
 

 

posted @ 2015-09-24 17:49  NAYNEHC  阅读(13559)  评论(2编辑  收藏  举报