web项目发布原理(基础)

来源:互联网 发布:知乎 周杰伦与王力宏 编辑:程序博客网 时间:2024/04/30 03:22

HTTP:超文本传送协议hyperText transfer protocol 是一套在计算机在网络中通信的一种无状态协议,
web浏览器即客户端与服务器之间不需要建立永久的连接。
经过四个步骤:客户端与服务器端建立连接,客户端发送HTTP请求
   服务器端接收客户端的HTTP请求,生成RESPONSE响应。关闭连接

客户端发送请求的信息包括:
请求行:get URL路径 HTTP版本(检索资源)
请求头:一些浏览器的信息
空行: POST才有吧
消息体:表单的信息,如果是GET,请求表单数据附加请求行中,如果是POST数据就添加在消息体中

HTTP请求方法常用的有两种:POST GET
POST: 用于向服务器发送数据,并要求指定的URL处理
GET:用于向服务器检索资源

HTTP响应包括:
状态行:有HTTP协议版本,响应状态码 响应描述组成
响应状态码:1XX:消息,请求受到,继续处理
      2XX:成功,行为被成功收到接受,理解和采纳
      3XX:重定向,为了完成请求,必须进一步执行的动作
      4XX:客户端错误,请求包含语法错误或则请求无法实现
      5XX:服务器端错误,服务器不能实现一种明显无效的请求
响应头:返回的类型及一些信息
空行:最后一个响应头之后是一个空行,发送回车符和退行,表明以下不再有响应头
消息体:返回给客户端的文档

最后关闭连接

WEB服务器的缺陷
最早只能提供静态页面,要用动态页面,在服务器主机上增加一个辅助应用,这个辅助应用负责生成动态页面,并且能与WEB服务器软件通讯。服务器端网页编程:在WEB服务器创建动态服务器端内容的过程
技术:CGI ASP ASP.NET JAVA SERVLET/JSP
CGI:每一次的请求都要打开一个进程,
JAVA的解决方案:servlet以及WEB容器
servlet是一个在WEB服务器端或者应用服务器端运行的JAVA程序,主要用于在服务器端产生动态内容。
Servlet在服务器端的主要工作任务:
1.读取客户端发送的显式和隐式数据。显式数据表单中的数据,隐式数据HTTP信息都被封装在HTTP请求中
2.生成结果。在此过程中可能要访问数据库,执行RMI,EJB调用,调用WEB服务,或则直接计算得出对应的响应
3.向客户端发送显式数据(即文档)和隐式数据(HTTP响应数据),文档可以用各种格式发送包括HTML,XML,图像,目前为止,HTML是最常用的格式,所以servlet的重要任务之一就是将结果包装到HTML中,显式和隐式数据最终都被封装在HTTP响应中。

WEB容器:servlet没有main()方法,受控于另一个JAVA程序WEB容器(container),WEB容器负责和管理servlet,实际上WEB容器是WEB服务器的一个组件

WEB容器对servlet的支持包括:
1.通信支持
2.生命周期管理
3.多线程支持
4.JSP支持
5.处理安全性

执行流程:WEB服务器应用程序得到一个指向SERVLET的请求时,服务器不是把这个请求交给SERVLET本身,而是交给部署该SERVLET的容器,容器将创建一个ServletRequest对象和一个ServletResponse对象 用户请求的参数封装在request对象中,然后传递给servlet,servlet将结果写到了 ServletResponse对象中,交给容器在传回给用户。

WEB容器和servlet对请求和响应的处理总结
1 、客户端向WEB服务器发起一个HTTP请求
2、HTTP请求被WEB服务器接受,如果请求是静态页面,则由WEB服务器负责处理,如果是请求的是JAVA

WEB组   件(servlet或JSP),则交给WEB容器。WEB容器可以在主机的同一个进程、不同的进程或其他的WEB服务主   机的进程中启动。
3、WEB容器根据servlet的配置文件(web.xml)确定调用的具体servlet类,并把request response对象传给   它
4、servlet通过request 对象知道客户端的使用者是谁,客户的请求信息是什么和其他的一些信息。servlet 处理完请求后把要返回的信息放入到response对象返回到客户端
5、一旦servlet完成了请求的处理,WEB容器就会刷新response,把控制权返回给WEB容器。

web的发布
1.将全部文件打成.war包(DOS下)
语法 jar -cf 包名.war 文件1…… WEB-INF 文件1……
将WAR包拷贝到tomcat下的webapp目录下,启动服务器后将自动解压缩
2.通过tomcat的管理界面,进行war包发