Java Web 工作原理

本文介绍了HTTP协议的基础知识,详细探讨了Servlet的概念及其在Web容器中的工作原理。通过示例展示了如何使用Servlet创建简单的Web应用。
解析HTTP协议

什么是HTTP协议
HTTP遵循请求/响应模型
HTTP协议是一种无状态的协议  

重要性:
要真正理解Web的工作原理,必须彻底理解HTTP协议 !


Web服务器的缺陷

服务器端网页编程

建动态服务器端内容的过程
CGI技术
微软的ASP和ASP.NET技术
基于Java的Servlet/JSP技术


解决方案CGI




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

Web容器主要是用于给处于容器中的应用程序组件(Servlet、JSP)提供一个环境,使Servlet、JSP直接跟容器中的环境变量交互。这样,我们就可以把注意力放在用Servlet实现业务逻辑上,而不必关注其它系统问题。

Servlet概貌

import javax.servlet.http.*;
public class HelloWorld extends HttpServlet {
    public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException{
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.println("<html>");
        out.println("<head>");
        out.println("<title>Hello World!</title>");
        out.println("</head>");
        out.println("<body>");
        out.println("<h1>Hello World!</h1>");
        out.println("</body>");
        out.println("</html>");
    }
}

1:Servlet是常规的Java代码。代码中用了一些新的API,但是不涉及新的语法。
2:Servlet代码中有我们不熟悉的重要语句。Servlet不属于J2SE,它属于单独的规范。
3:Servlet对标准类(HttpServlet)进行了扩展。
4:Servlet没有main()方法。


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服务器。


Java Web应用程序的组成
规范规定Java Web应用程序主要由如下部分组成
配置文件
静态文件和JSP
类文件和包

Tomcat介绍

源自于Apache软件基金会Jakarta项目
满足Servlet和JSP规范要求
能独立成为一个Web服务器
也是Servlet与JSP的容器
Tomcat目录结构介绍

发布WEB应用

将应用目录打成war包
部署
配置server.xml文件
配置web.xml文件





评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值