什么是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文件