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,百度等等。
- 优点:
- 用户只需要安装一个浏览器即可访问不同的服务器,不需要安装很多客户端,节约硬盘资源;
- 系统更新和升级比较方便;
- 跨平台优势;
- 缺点:
- 动画效果受浏览器限制;
- 网站的压力集中在服务器端。
C/S架构:又称Client/Server架构,及客户端和服务器架构模式。它是通过客户端 和服务器 进行交互的,如QQ,迅雷,360,百度网盘等等。
- 优点:
- 客户端效果炫,用户体验好;
- 客户端能够进行部分计算功能,减轻服务器的压力;
- 缺点:
- 需要安装客户端,占用硬盘空间;
- 系统升级麻烦,需要安装很多升级包;
注: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 "%r" %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.处理请求数据(业务逻辑的处理);3.给浏览器生成响应信息的能力;
- tomcat服务器遵从了JavaEE规范,Sun公司制定的动态资源规范Servlet实现这个功能;(运行在服务器端,能够接收用户请求,处理请求数据和给浏览器生成响应信息)
- 在java的世界里制定规范往往是接口来实现的,所以Servlet是一个接口,里边只是定义了一些方法;
- 如果,我们对这个接口进行具体的实现,就能够完成对用户数据的接收,处理和生成响应信息;
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优点
- HttpServlet继承了GenericServlet,功能比GenericServlet更强大;
- GenericServlet中处理不同的请求都使用service()方法,HttpServlet根据不同的请求方式提供了不同的方法进行处理。等于是细化了service()方法;
- HttpServlet类中的方法参数为HttpServletRequest对象和HttpServletResponse对象。使用这两个对象的好处在于:
- HttpServletRequest接口继承了ServletRequest接口,HttpServletResponse接口继承了ServletResponse接口。功能更强大;
- 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