02-JavaWeb开发Tomcat服务器&Servlet接口&HTTP协议&HttpServletRequest&BeanUtils工具包封装请求数据&Ht(

Posted ahcfl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了02-JavaWeb开发Tomcat服务器&Servlet接口&HTTP协议&HttpServletRequest&BeanUtils工具包封装请求数据&Ht(相关的知识,希望对你有一定的参考价值。

文章目录


在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

一、 web

1、web概述

Web(World Wide Web)即全球广域网,也称为万维网。它是一种基于超文本和HTTP的、全球性的、动态交互的、跨平台的分布式图形信息系统。是建立在Internet上的一种网络服务,为浏览者在Internet上查找和浏览信息提供了图形化的、易于访问的直观界面,其中的文档及超级链接将Internet上的信息节点组织成一个互为关联的网状结构。

简而言之web就是我们平时上网浏览的网页,玩的网页游戏,上网下载资源。对于程序员而言就是前端知识、web服务器知识和数据库知识的结合

WEB1.0 开始于1994年.网页是用来阅读,传递信息。 【公司主导】
WEB1.0的任务,其主要特征是大量使用静态的 html 网页来发布信息,并开始使用浏览器来获取信息,这个时候主要是单向的信息传递。是将以前没有放在网上的人类知识,通过商业的力量,放到网上去;从内容产生者角度看,WEB1.0是商业公司为主体把内容往网上搬。并没有解决人与人之间沟通、互动和参与的需求,所以Web2.0应运而生。中国黄页
WEB2.0 网页用来交互的。【用户主导】 推出;平台
例如: 微博、淘宝,社区、交友网站、视频网站等等 。这类网站开发常用的技术:java,php,.net(微软技术体系 asp.net c#.net vb.net) 、ruby、python ...
Web2.0 则更注重用户的交互作用,用户既是网站内容的浏览者,也是网站内容的制造者。

2、JavaWeb

概念:用Java技术来解决相关web互联网领域的技术总和【用java技术开发web服务应用(软件)】(Web前端+Web后台)。
比如:京东网站,就是用Java开发的。我们可以通过浏览器访问。

在这里插入图片描述

1)软件架构模式

生活中,我们从网络中获取资源的方式通常有两种

B/S架构:又称Browser/Server架构,即浏览器和服务器架构模式。它是通过浏览器 和后台服务器 进行交互的,如淘宝,京东,12306,百度等等。

  1. 优点:
    1. 用户只需要安装一个浏览器即可访问不同的服务器,不需要安装很多客户端,节约硬盘资源;
    2. 系统更新和升级比较方便;
    3. 跨平台优势;
  2. 缺点:
    1. 动画效果受浏览器限制;
    2. 网站的压力集中在服务器端。

C/S架构:又称Client/Server架构,及客户端和服务器架构模式。它是通过客户端服务器 进行交互的,如QQ,迅雷,360,百度网盘等等。

  1. 优点:
    1. 客户端效果炫,用户体验好;
    2. 客户端能够进行部分计算功能,减轻服务器的压力;
  2. 缺点:
    1. 需要安装客户端,占用硬盘空间;
    2. 系统升级麻烦,需要安装很多升级包;

注:B/S模型可以理解为一种特殊C/S模型。

B/S优势:
B/S是基于网页语言的、与操作系统无关,所以跨平台也是它的优势,而且以后随着网页语言以及浏览器的进步,
B/S表现能力上的处理以及运行的速度上会越来越快,它的缺点将会越来越少。
比如,现在的HTML5,在图形的渲染方面以及音频、文件的处理上已经非常强大了。
所以,B/S架构将是未来的软件架构趋势 。

共同点:
1、基于请求-响应交互模型
	浏览器(客户端)向服务器 发送一个请求
	web服务器向浏览器(客户端)回送 一个响应 
	一次请求、一次响应 
2、必须先有请求 再有响应 
3、请求和响应成对出现

2)web资源

通过浏览器从网络中访问的资源我们称之为WEB资源

1. 静态资源:  指web页面中供人们浏览的数据始终是不变的。无论何时,在任何人的电脑上访问,页面都是一样的。就是我们前面学习的前端内容。比如:HTML、CSS、JS、图片、音频、视频等。
2. 动态资源: 指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同。
比如:你在不同时间搜索微博的热门话题内容是不一样的,每天的天气情况也是变化的。每次访问购物网站登陆的时候,会显示我们自己的用户名等。这些数据由程序生成,JSP/Servlet、ASP等技术都可以完成。

总结:
	静态资源的数据都是写死在页面上的固定不变。
	动态资源,浏览器访问的结果是变化的(动态web资源就是你的数据都是程序读取数据库生成的数据)。

注意:
	学习javase的时,运行要有main方法,因为他是程序的开始。而junit框架使用@Test注解提供入口可以让程序开始运行,仅仅只是为了测试而诞生的。
	这里我们会使用浏览器访问我们书写的后台服务器,而`浏览器页面中的每个按钮都可以看作为一个入口`,只要点击每个按钮那么后台服务器就会接收前端页面的请求,后台服务器就会开始执行,并且将数据响应给浏览器。

3)URL请求路径

URL (Uniform Resource Locator)

统一资源定位符是对互联网上资源位置的一种表示,互联网上的每个文件都有一个唯一的URL。

协议://ip或者域名:端口号/资源位置
协议,http、https、ftp等
域名,域名或IP地址,能够帮我们定位到互联网上的某一台服务器
端口号,端口号是一个应用程序在一台服务器上的编号。http协议的默认端口号:80
资源位置,用于描述WEB资源在服务器上的位置

参数=值,浏览器和服务器交互传递的数据。

在这里插入图片描述
在这里插入图片描述

二、tomcat服务器

官网地址:https://tomcat.apache.org 选择tomcat8.5版本,比较稳定。

tar.gz 文件 是linux和mac操作系统下的压缩版本
zip文件是window操作系统下压缩版本(我们选择zip文件)

1、服务器介绍

服务器硬件

可以把服务器理解成一台电脑主机,只不过这台电脑需要提供可靠的服务,

因此在处理能力,稳定性,安全性方面要求更高。

服务器只是一台设备,必须安装服务器软件才能提供服务。

在网络环境下,根据服务器提供的服务类型不同,

分为文件服务器,数据库服务器,应用程序服务器,WEB服务器等

服务器软件

本质上是一个应用程序(由代码编写而成),运行在服务器设备上。

能够接收请求并根据请求给客户端响应数据,发布资源(静态和动态)。

在这里插入图片描述

1)常见的web服务器软件

1、Tomcat:Apache组织提供一个免费开源的小型的服务器软件。

​ 支持Servlet和JSP规范,性能高。开源,免费,性能高。

2、WebLogic:Bea公司的一个收费的大型的服务器软件,后被Oracle收购。支持EE的所有的规范

3、WebSphere:IBM公司的一个收费的大型的服务器软件,支持EE的所有的规范。

4、JBoss:是一个基于J2EE的开放源代码的应用服务器。

​ JBoss核心服务不包括支持servlet/JSP的WEB容器,一般与Tomcat绑定使用。占用内存。

在这里插入图片描述

2)JavaEE规范

Java中所有的服务器厂商都要实现一组Oracle公司规定的接口,这些接口是称为JavaEE规范。不同厂商的JavaWeb服务器都实现了这些接口,在JavaEE中一共有13种规范。实现的规范越多,功能越强。

1、JavaSE 标准版的Java,开发一些客户端的程序,桌面应用程序。JavaTM Platform Standard Edition

2、JavaEE 企业版的Java,开发运行在服务器上程序,必须以JavaSE为基础。Enterprise Edition

3、JavaME 用于嵌入式开发,手机移动端开发。不再使用。被安卓取代。

2、tomcat服务器【启动/关闭】

tomcat服务器是一个免费的开源的web应用服务器。**是Apache软件基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其他一些公司及个人共同开发而成。**由于有了Sun的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到体现。

因为tomcat技术先进,性能稳定,且免费。是目前比较流行的Web应用服务器。

将下载的zip文件解压后就是安装了,可以看到其中的目录结构

bin:脚本目录
	启动脚本(启动服务器):startup.bat
	停止脚本(停止服务器):shutdown.bat

conf:配置文件目录 (config /configuration)
	核心配置文件:server.xml
	用户权限配置文件:tomcat-users.xml
	所有web项目默认配置文件:web.xml

lib:依赖库,tomcat和web项目中需要使用的jar包

logs:日志文件.
	localhost_access_log.txt tomcat记录用户访问信息,..表示时间。
	例如:localhost_access_log.2017-04-28.txt
	
temp:临时文件目录,文件夹内内容可以任意删除。

webapps:默认情况下发布WEB项目所存放的目录。

work:tomcat处理JSP的工作目录。 

启动

双击tomcat解压目录/bin/startup.bat 文件即可启动tomcat

tomcat的默认端口为8080,所以在浏览器的地址栏输入:http://ip:8080即可访问tomcat服务器。

关闭

关闭startup.bat启动窗口;

双击tomcat的/bin/shutdown.bat文件;

Ctrl+C;

3、tomcat启动失败常见原因

##### (1)  JAVA_HOME 配置
如果没有配置JAVA_HOME环境变量,在双击“startup.bat”文件运行tomcat时,将**一闪立即关闭**。
解决方式:需要正确配置JAVA_HOME环境变量,指向JDK的bin目录的上一级目录;

##### (2)端口号冲突
一台拥有ip地址的主机上可以提供多个服务(启动多个软件),
每一个服务都有一个唯一的端口号。所以端口号不能重复。
`【端口号冲突报错信息】
严重: Failed to initialize end point associated with ProtocolHandler ["http-bio-8080"]
java.net.BindException: Address already in use: JVM_Bind <null>:8080
...
Caused by: java.net.BindException: Address already in use: JVM_Bind
...
控制台将出现大量异常信息,描述的是8080端口被占用。
`【解决方案】
1. 修改tomcat端口
通过修改tomcat目录下conf/server.xml配置文件修改端口号。将8080修改成其他端口号。
<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
 
2.终止占用端口号的程序
打开dos窗口,在dos窗口中输入如下命令:
netstat –nao

4、tomcat发布JavaWeb项目

>JavaWeb项目与java项目的区别:
>
>* java项目:后台代码;例如之前的javase.
>* JavaWeb项目:前端代码+后台代码;

在这里插入图片描述

1)企业中项目部署方式

直接发布

将web项目复制到tomcat的webapps目录下:
说明:我们在tomcat中发布的web项目都会存在于webapps文件夹下,如果这里使用手动发布项目,

我们可以先在webapps文件夹下创建一个文件夹demo【文件名自拟】作为项目名,

然后在demo文件夹下新创键一个index.html页面作为该项目的主页,输入内容,

启动tomcat服务器即可。

url【http://ip:端口号/项目名/资源路径】

访问web目录下的index.html的url为:http://localhost:8080/demo/index.html

**注意:**当我们在浏览器地址栏中不输入heima项目下的index.html也可以访问主页面中的内容,

http://localhost:8080/demo这样也是可以的

原因:当我们启动tomcat服务器的时候,在tomcat服务下的conf文件夹下有个配置文件叫做web.xml.

这个文件中有如下代码:

 <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
<!--
这些代码称为欢迎页面,当我们在访问项目的时候如果不输入页面的时候,
那么就会默认访问项目下默认的欢迎页面,从上往下依次访问。
访问顺序:index.html、index.htm、index.jsp。
所以当我们在浏览器地址栏中不输入页面的时候就会访问欢迎页面。
-->
虚拟路径发布

优点:项目不需要发布在webapps下,因为webapps项目越多,导致tomcat启动越慢

在conf/server.xml文件的host元素中配置Context(上下文)标签
path属性虚拟访问目录的名称
docBase属性Web应用所在目录

案例:发布项目到e:\\MyWeb\\下,index.html文件

找到server.xml文件中148行,host元素,写下面的代码:

启动tomcat服务器,然后在浏览器上测试:http://localhost:8080/aaa/index.html

<Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
		.........
    	.........
    	.........

        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
    -----------------------------------------------------------------------
    	<!--上下文路径,path表示访问地址,docBase表示要访问页面所属文件夹-->
		<Context path="/aaa" docBase="e:\\MyWeb"/>
    -----------------------------------------------------------------------
      </Host>                       
独立的xml配置发布

IDEA中默认是这种访问方式发布web项目

第一步:在tomcat/conf目录下新建一个Catalina目录(如果已经存在无需创建)

第二步:在Catalina目录下创建localhost目录

第三步:在localhost中创建xml配置文件,名称为:second(注:这个名称是浏览器访问路径,随便定义

第四步:添加xml文件的内容为:

<?xml version="1.0" encoding="UTF-8" ?>
<Context docBase="E:/MyWeb" reloadable="true"/>
<!--
说明: reloadable="true"表示可以重复加载。
-->

第五步:在e:/MyWeb/下创建index.html

第六步:访问测试http://localhost:8080/second/index.html

2)IDEA配置tomcat直接发布项目

我们要想在idea中将项目发布到tomcat中,首先我们要先创建web项目

1、File—New—Project/Module

2、选择Java Enterprise版本,选择jdk8,然后配置tomcat。

因为jdk11对于一些软件时不兼容的,例如tomcat,学到后面会报各种异常,企业主流也是jdk8

3、在创建项目的时候在下面勾选Web Application

4、然后next即可创建完成

5、在EditConfigurations中配置Tomcat Server,选择tomcat的安装路径。

注意:这里关联的tomcat home指的是tomcat的解压目录(bin目录的上一级目录)

在这里插入图片描述

WEB项目结构如下

WEB-INF目录下文件

**web.xml:**当前web项目的核心配置文件,可以管理整个web项目,创建完web项目自动生成。

Servlet2.5必须有。Servlet3.0注解开发可以省略。

**lib:**当前web项目所需要的第三方的jar包存放的位置。需要手动创建一个文件夹lib。

classes文件: .java源文件编译后生成的class文件存放的位置。不用手动创建,

运行程序会自动生成该文件夹并且将.java源文件对应的.class文件自动放到该文件夹下。

在这里插入图片描述

在创建好的web项目下新创键index.html页面

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <h1>在idea中创建的第一个javaweb项目</h1>
</body>
</html>

在idea中启动tomcat服务器

可以正常启动或者Debug模式启动。启动成功之后,会自动弹出index.html页面

当然我们也可以在页面浏览器地址栏中按照如下访问:http://localhost:8080/index.html

**注意:**当我们已经将tomcat启动了,当再次点击绿色三角即启动tomcat按钮的时候会出现如下所示的框:

Update resources:修改静态资源页面时,选择这个可以将修改后的静态资源页面部署到tomcat服务器上。

Update classes and resources:这里其实功能和第一个一样。

Redeploy: 表示.java源文件改变时重新部署代码,重新部署。

Restart server:表示.java源文件改变时重新部署代码,重新部署。关闭服务器和开启服务器。效率比较低。

页面资源热更新

对于静态页面每次修改之后都要重新部署,

所以我们可以在idea中配置页面资源热更新,这样每次修改静态页面之后就不会在重新部署了

在这里插入图片描述

三、Servlet服务器端小程序

1、Servlet介绍

Servlet 是 Server applet 简称

表示服务程序.是运行在服务端的Java小程序【属于服务器端的一个接口】。

sun公司提供一套规范,用来处理客户端请求、响应给浏览器的动态web资源

其实servlet的实质就是java代码,通过java的API动态的向客户端输出内容,并且从客户端接收数据。

Servlet 的作用

接收请求 :接收客户端发送的请求数据

业务逻辑的处理

响应结果 :将处理结果响应给客户端(浏览器)

servlet服务

  1. 客户端(浏览器)发送的数据会被提交到服务器;
  2. 服务器必须具备:1.接收请求数据;2.处理请求数据(业务逻辑的处理);3.给浏览器生成响应信息的能力;
  3. tomcat服务器遵从了JavaEE规范,Sun公司制定的动态资源规范Servlet实现这个功能;(运行在服务器端,能够接收用户请求,处理请求数据和给浏览器生成响应信息)
  4. 在java的世界里制定规范往往是接口来实现的,所以Servlet是一个接口,里边只是定义了一些方法;
  5. 如果,我们对这个接口进行具体的实现,就能够完成对用户数据的接收,处理和生成响应信息;

在这里插入图片描述

2、Servlet简单开发

将html页面发布到tomcat服务器中,然后用户通过浏览器访问html页面,

那么用户也可以通过浏览器访问java的类,要想让用户能够访问到我们书写的java类,

可以按照如下做法:
1、java类希望让用户通过浏览器访问,需要将被访问的类实现规范(接口),这个规范(接口)称为Servlet
这里不需要导入jar包,因为tomcat软件已经集成。
2、创建一个java类实现Servlet接口
3、由于Servlet属于接口,肯定有抽象方法,所以要求自定义实现类实现接口中的所有抽象方法主要是Servlet接口中的service方法,service方法主要是用来处理来自客户端的服务的
4、操作完成之后,客户端要想访问该类,必须使用Tomcat服务器帮助我们发布项目,需要通知tomcat,已经创建好了一个类,可以供外部访问

代码演示

编写实现Servlet实现类

public class HelloWorldServlet implements Servlet{
    /*
        处理客户端的服务
     */
    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        System.out.println("service......");
    }
    @Override
    public void init(ServletConfig servletConfig) throws ServletException {}
    @Override
    public ServletConfig getServletConfig() {return null;}
    @Override
    public String getServletInfo() { return null;}
    @Override
    public void destroy() {}
}

web.xml中书写如下内容:

	<servlet>
        <servlet-name>helloWorldServlet</servlet-name>
        <servlet-class>com.itheima.sh.quickstart_01.HelloWorldServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>helloWorldServlet</servlet-name>
        <!-- 【注意】 url-pattern 映射路径前面必须添加"/" -->
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>

对上述标签的解释如下所示:

 <servlet>// 将自定义类注册给tomcat,其实就是通知tomcat,有一个类可以被外部访问
     <servlet-name></servlet-name> //类的一个别名,随便写,但是必须保证在当前web.xml文件中唯一
     <servlet-class></servlet-class> //全限定类名 ,tomcat获得类可以帮助我们实例化对象,调用类中的方法。tomcat底层使用反射创建对象
      //对象.方法
  <servlet-mapping> //映射路径,给访问的类加路径
      <servlet-name></servlet-name> //上面配置的别名,必须匹配已经存在的名称
      <url-pattern></url-pattern> //被访问的路径,浏览器最后输入的访问路径,
      例如:http://localhost:8080/hello

发布项目,启动项目,使用浏览器访问这个类;

注意:

使用idea创建的web项目,可以通过配置,访问路径中不需要添加项目名,具体配置如下:

Edit Configurations -> Deployment -> Application context [ 可写 / ]

配置好后:在浏览器中输入,访问路径为:http://ip:8080/hello

分析项目运行流程

之前的java项目中,我们运行一段程序都是使用main方法来运行的。

Servlet中没有main方法,那它是怎么运行的呢?

1.当我们点击run运行的时候,tomcat之所以会启动,是因为程序入口(main方法)在tomcat中

2.tomcat开始运行,会加载web项目里面的配置文件web.xml(xml解析,读取数据)

主要是根据url-pattern 找到对应的servlet-class

3.然后tomcat进入等待状态(永不停止,除非手动关闭)

4.当用户在浏览器中输入地址:http://localhost:8080/hello 就会定位到tomcat的访问的项目下面的某个servlet中

5**.tomcat会根据 /hello 的servlet的虚拟路径** 找到HelloServlet的全限定名

6**.tomcat底层通过反射创建HelloServlet的对象**,并调用HelloServlet的service方法:

Class clazz = Class.forName("全限定名");
Servlet servlet = clazz.newInstance();//实际上HelloServlet对象,向上转型
servlet.service();

在这里插入图片描述

3、Servlet编程优化方案

在上述的HelloWorldServlet中,实现Servlet接口后能够接收浏览器发送的请求。

由于Servlet是一个接口,我们实现接口后必须重写接口中所有的抽象方法。

但是,我们在接口请求和响应数据的时候只需要一个service方法就足够了。

所以,我们需要有选择地实现父接口中的方法。那么我们怎样做才能实现使用哪个方法就重写哪个方法呢?

可以在定义一个类GenericServlet来实现Servlet接口,这个类重写接口中的所有的抽象方法,然后让我们自定义类继承GenericServlet类,这样就可以只重写需要的方法了

在这里插入图片描述

1)方案一:继承GenericServlet抽象类

GenericServlet类是一个抽象类,它实现了多个接口,其中有一个是Servlet,

所以它重写了Servlet接口中的所有方法。我们只需要继承GenericServlet类,重写其中的service方法即可。

继承GenericServlet的优点

1、实现了Servlet接口,我们继承GenericServlet之后相当于间接实现了Servlet接口;

2、给我们提供了很多通用方法,这些方法已经帮我们实现了很多功能,继承GenericServlet之后可以直接调用这些方法**,GenericServlet相对于Servlet,进行了功能的扩展和衍生**;

3、GenericServlet是一个抽象类,里边只有一个抽象方法service(),我们继承GenericServlet之后只需要重写service()方法处理具体的业务逻辑即可,减少了直接实现Servlet接口带来的代码冗余;

代码演示 :使用GenericServlet优化Servlet接口编程

实现步骤

1、创建一个普通的java类继承GenericServlet;

2、在web.xml中配置这个GenericServlet的子类;

3、重写service方法,在service方法中完成接收从浏览器请求数据的功能;

编写一个普通的java类,ServletDemo1,继承GenericServlet;

package com.heima.servlet;

import javax.servlet.GenericServlet;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import java.io.IOException;

/**
 * @author suoge
 */
public class ServletDemo1 extends GenericServlet {
    @Override
    public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
        
    }
}

在web.xml配置ServletDemo1

    <servlet>
        <servlet-name>ServletDemo1</servlet-name>
        <servlet-class>com.heima.servlet.ServletDemo1</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>ServletDemo1</servlet-name>
        <url-pattern>/demo1</url-pattern>
    </servlet-mapping>

重写service方法,并在service方法中书写以下代码,完成接收从浏览器请求数据的功能;

 @Override
 public void service(ServletRequest req, ServletResponse res) throws ServletException, 			IOException {
        System.out.println("GenericServlet...");
  }

启动tomcat并访问

127.0.0.1:8080/demo01

2)方案二:HttpServlet优化方案

在实际的生活中,客户端(浏览器)给我们发送的请求往往是HTTP协议下的请求,

所以我们只需要处理HTTP的请求和响应即可。也就是说我们需要的只是一个与HTTP协议相关的Servlet。

Sun公司为我们提供了HttpServlet,对GenericServlet再次进行扩展和功能加强。

实际开发中:我们编写Servlet就可以采用 继承HttpServlet来完成servlet的开发,

这样的Servlet我们可以获取更多的业务功能。

HttpServlet是GenericServlet的一个子类。

这个类是专门帮我们处理与HTTP协议相关的请求与响应的一个Servlet类,

在我们的日常生活中最常用的HTTP请求只有get请求和post请求。

所以我们在继承了HttpServlet之后只需要重写里边的doGet()方法和doPost()方法即可满足我们的需求。

继承HttpServlet优点

  1. HttpServlet继承了GenericServlet,功能比GenericServlet更强大;
  2. GenericServlet中处理不同的请求都使用service()方法,HttpServlet根据不同的请求方式提供了不同的方法进行处理。等于是细化了service()方法;
  3. HttpServlet类中的方法参数为HttpServletRequest对象和HttpServletResponse对象。使用这两个对象的好处在于:
  4. HttpServletRequest接口继承了ServletRequest接口,HttpServletResponse接口继承了ServletResponse接口。功能更强大;
  5. HttpServletRequest接口和HttpServletResponse接口为我们提供了很多处理HTTP协议相关的API,HTTP协议正是我们日常生活中使用得比较多的一种协议;

代码演示 :使用HttpServlet优化Servlet接口编程

编写FormServlet继承HttpServlet抽象类

/**
 * @author suoge
 */
public class FormServlet extends HttpServlet{
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("处理get请求提交的数据.................");
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("处理post请求提交的数据..................");
    }
}

在web.xml配置FormServlet

启动tomcat并访问127.0.0.1:8080/demo01

<

以上是关于02-JavaWeb开发Tomcat服务器&Servlet接口&HTTP协议&HttpServletRequest&BeanUtils工具包封装请求数据&Ht(的主要内容,如果未能解决你的问题,请参考以下文章

附:Tomcat简介&JPress部署&多实例&优化

Tomcat的优点/功能及安装

javaweb基础 02--javaweb基础概念

Servlet 02 ----javaweb-05

1Web容器的理解&Tomcat的安装与配置

jenkins+maven+jboss&tomcat自动化发布