Http协议和Tomcat服务器

什么是Http协议

HTTP,超文本传输协议(HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。

http协议包括:

1.请求(携带参数) 一般是由表单提供
请求方式:get/post < form method=“post”>
get方法可以在url连接后看到获取的表单信息
2.响应(页面 数据)。两者是成对出现的

在这里插入图片描述

Http请求:

在这里插入图片描述
请求行 post(请求方式)/URI(get提交的)
请求头 客户端信息(键值对) user-agent cookie
请求体 提交的参数信息
-当请求方式是post的时,请求体会有请求的参数,格式如下:
username=zhangsan&password=123
-如果请求方式为get,那么请求参数不会出现在请求体中,会拼接在url地址后面:
http://localhost:8080…?username=zhangsan&password=123

Http响应

在这里插入图片描述
响应行:响应状态码:200(正常响应)304(缓存)404(资源未找到)
500(程序异常) 302(重定向)
响应头:服务器信息(键值对)
响应体:响应内容[页面,json]

Tomcat服务器

什么是Tomcat?

Tomcat: web应用服务器
-本质是软件

web资源:
存在于web应用服务器可供外界访问的资源就是web资源。
例如:存在于web应用服务器内部的Html、CSS、JS、图片、视频等。

1)静态资源: 指web页面中供人们浏览的数据始终是不变。比如:HTML、CSS、JS、图片、多媒体。
2)动态资源: 指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同。比如:JSP/Servlet、ASP、PHP
**javaWEB领域:**动态资源认为通过java代码去动态生成html。

web应用:
动态网络资源
java代码完成的可以在浏览器上运行的应用程序
部署在 web应用服务器上

Tomcat目录

  apache 纯Java写 开源 
  • bin: 命令、工具
    startup.bat / startup.sh
    windows系统:bat (直接点击) linux系统:sh ( ./startup.sh)
    shutdown

  • lib: 类库 jar
    servlet-api.jar
    jsp-api.jar

  • conf:配置文件
    server.xml - 服务器配置
    web.xml - tomcat中所有的web应用,不能修改

  • webapps:多个web应用
    目录/文件[html、css、js、.class、jar…]

  • work:工作目录
    jsp 翻译 文件

  • temp:临时文件

  • logs:日志

  • backup:备份

连接过程

1.在webapps中加入网页
2.http://ip:端口/文件夹名/文件名
连接tomcat可能遇到的错误:端口被占用
java.net.BindException: Address already in use: JVM_Bind :8080

解决方案:改动conf中的server.xml文件中的protocol
< Connector port=“8080” protocol=“org.apache.coyote.http11.Http11NioProtocol”
connectionTimeout=“20000”
redirectPort=“8443” />

web应用: .class

默认主页:index、default
根目录:web静态资源
           -html\css\js\图片…
       WEB-INF       -目录是受保护的{客户端不能直接访问}
          -web.xml  (当前web应用配置信息)
                     schame约束
          -classes   类路径  src源码编译过来
          -lib -库   jar[mysql、c3p0、dbutils]
       META-INF      元信息5

web工程:eclipse代码 .java

     src:资源目录
         java代码、配置文件
     JRE System Library :jdk类库
     Apache Tomcat v8.5 :tomcat类库
     bulid:类路径 -工程
            classes
            src源代码编译后的文件
     WebContent/WebRoot:web应用根目录
                         web静态资源
                         META-INF
                         WEB-INF
                             -lib
                             web.xml  服务器启动时就会读取
                             服务器启动完成后检查控制台是否报错

在这里插入图片描述

Servlet生命周期:

Servlet:Server + applet

init: 初始化,创建对象时初始化 默认第一次接收请求(可以设置为服务器开启时创建)
< load-on-startup>10< /load-on-startup>
service: 服务核心方法,用来接收请求 几次请求几次service
destroy: 销毁对象 关闭服务器时销毁

1.自定义类,实现Servlet接口

public class Hello implements Servlet {
@Override
public void init(ServletConfig servletConfig) throws ServletException {
    System.out.println("初始化对象");
}

@Override
public ServletConfig getServletConfig() {
    return null;
}

@Override
public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException {
    response.getWriter().println("exit");
    System.out.println("连接");
}

@Override
public String getServletInfo() {
    return null;
}

@Override
public void destroy() {
  System.out.println("销毁对象");
}

}
2.着重实现service方法
3.到web.xml文件中注册Servlet

< !-- 注册Servlet的类 -->
<servlet>
	< !-- name:随意 -->
	**3.**    <servlet-name>HelloKitty</servlet-name>
	< !-- 对应的Servlet的类完整类名 -->
	**4.**   <servlet-class>web01.HelloKitty</servlet-class>
</servlet>
< !-- Servlet类对应的资源访问方式 -->
<servlet-mapping>
	**2.**   < !-- 和servlet-name一致 -->
	<servlet-name>HelloKitty</servlet-name>
	**1.**  < !-- 资源路径:随意 -->
	<url-pattern>/a/hi</url-pattern>
</servlet-mapping>

4.访问测试:
http://localhost:8080/web01/a/hi

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【优质项目推荐】 1、项目代码均经过严格本地测试,运行OK,确保功能稳定后才上传平台。可放心下载并立即投入使用,若遇到任何使用问题,随时欢迎私信反馈与沟通,博主会第一时间回复。 2、项目适用于计算机相关专业(如计科、信息安全、数据科学、人工智能、通信、物联网、自动化、电子信息等)的在校学生、专业教师,或企业员工,小白入门等都适用。 3、该项目不仅具有很高的学习借鉴价值,对于初学者来说,也是入门进阶的绝佳选择;当然也可以直接用于 毕设、课设、期末大作业或项目初期立项演示等。 3、开放创新:如果您有一定基础,且热爱探索钻研,可以在此代码基础上二次开发,进行修改、扩展,创造出属于自己的独特应用。 欢迎下载使用优质资源!欢迎借鉴使用,并欢迎学习交流,共同探索编程的无穷魅力! 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值