欢迎使用优快云-markdown编辑器

本文介绍了HTTP协议的基本概念及其在JavaWeb中的应用,探讨了Servlet的工作原理与生命周期,同时提供了Tomcat服务器的配置方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JavaWeb

  • HTTP(超文本传输协议) 是一种分布式,合作式,多媒体信息系统服务,面向应用层的协议。
  • 功能:用于在服务器和客户端之间传输超文本文件。

HTTP协议的主要特点:

  • 1.遵循请求/响应模型:支持客户端/服务器模型
  • 2.无连接:限制每次连接处理只处理一个请求。服务器处理完客户端的请求,并收到客户的应答后,即断开链接。(本质有连接)
  • 3.无状态:HTTP协议是无状态协议。指协议对于事物处理没有记忆能力,缺少状态意味着如果后续处理需要前面的信息重新传送**
  • 4.简单快速:只需要传送请求方法路径。
  • 5.灵活:HTTP允许传送任意类型的数据对象

HTTP协议-请求

  • HTTP协议请求由三部分组成,分别是:请求行,消息报头,请求正文
  • 请求方法有多种,常用GET和POST方法。
  • GET:向Web服务器请求一个页面。
  • POST:向Web服务器发送数据请求处理。

HTTP协议-响应

HTTP响应也由三部分组成:分别是:状态行,消息报头,响应正文。

Web服务器的缺陷

静态Web和动态Web是最本质区别是静态Web是无法继续进行数据库操作,而动态Web是可以进行数据库操作,动态Web最大的特点是具有交互性,所谓交互性就是服务器端会自动根据用户请求响应不同的结果。

Servlet

Web容器

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

Servlet规范

规范只定义了一个容器必须实现的标准功能
Servlet容器有很多不同的实现
-Tomcat,Jboss,WebLogic,WebSphere,Oracle9i AS;

Servlet与Web容器配合处理请求和响应的处理总结。

  1. 客户端向Web服务器发起一个HTTP请求。
  2. HTTP请求被Web服务器接受,如果请求是静态页面,则由Web服务器负责处理。如果请求是JavaWeb组建(Servlet或者JSP),则移交给Web处理。Web容器可以在主机的同一个进程、不同的阶段或其他的Web服务主机的进程中启动。
  3. Web容器根据Servlet的配置文件确定调用的具体Servlet类,并把request对象、response对象传给它。
  4. Servlet通过request对象知道客户端的使用者是谁,客户的请求信息是什么和其他的一些信息Servlet处理完请求后把要返回的信息房屋response对象返回到客户端。
  5. 一旦Servlet完成了请求的处理,Web容器就会刷新response,把控制权返回给web服务器。

Tomcat配置外部IP

  • 打开Tomcat下的conf/server.xml配置文件
  • 找到配置文件中的Host字段
  • 将Host字段的属性名name的值修改为本机服务器Ip地址
  • 重新启动Tomcat使修改后配置生效

<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Context path="/test" docBase="E:/JavaWeb" />

修改为
<Host name="192.168.31.189" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Context path="/test" docBase="E:/JavaWeb" />

  • 对应的修改端口号修改:

<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />

修改为
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />

Tomcat部署

发布Web应用

Servlet

  • 是运行在Web服务器或应用服务器上的Java程序
  • 在Web上创建动态内容的有效而强大的解决方案
  • 由容器来管理生命周期与Web服务器交互
  • 由Sun规范了其功能

Servlet生命周期

  • Servlet程序是运行在服务器端的一段Java程序,器生命周期将受到Web容器的控制。
    生命周期包括加载(创建)程序、初始化、服务、终止(销毁)、卸载5个部分

  • 在正常情况下,Servlet只会初始化一次,而处理服务会调用多次,销毁也只会调用一次。但在特殊情况下初始化和销毁可能会进行多次。如一个Servlet长时间不使用的情况。

匹配规则分为一下几种方式

  • 完全匹配
    如:<url-pattern>/servlet/MyServlet.do</url-pattern>

  • 目录匹配
    如:<url-pattern>/servlet/*</url-pattern>

  • 扩展名匹配
    如:<url-pattern>*.do</url-pattern>
    容器查找规则
    **容器会首先查找完全匹配,如果找不到则查找目录匹配,如果仍找不到再查找扩展名匹配
    如果一个请求可以匹配多个目录匹配,容器会选择最长的目录匹配**
    如:servletA的url-pattern为/test/,而servletB的url-pattern为test/b/,此时访问
    http://localhost/test/b时,容器会选择路径最长的servlet来匹配,也就是这里的servletB。

J2EE Eclipse下载安装

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值