Service和doGet和doPost
发请求首先得有请求框,jsp文件中可以设置form表单用于数据提交
新建一个jsp文件(直接建在项目下)
设置这么一个表单
<form action="Method" method="get">
用户名:<input type="text" name="uname" value=""><br>
密码:<input type="text" name="pwd" value=""><br>
<input type="submit" value="登录">
</form>
然后根据URI就可以显示这个页面(ms是虚拟项目名)
ex:http://localhost:8888/ms/Method.jsp
上边代码里边儿action里面代表的是url-patterning(对应的ServletMethod.java这个Servlet) ,method代表的是请求方式
当提交数据时,服务器会找到action对应的的Servlet进行处理数据,表单的这个界面并不是一个请求,而是他所指的action对应的Servlet进行数据处理才算一个请求,所以http提交请求时的url应该是http:localhost:8888/ms/method
处理请求方式有这么三种,service,doPost,doGet
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
System.out.println("我是service");
}
@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");
}
service既可以处理get也可以处理post,
doGet只能处理get,doPost只能处理post,
当service、doGet、doPost这三种方式都存在时,用service进行处理。
当没有service,请求方式为get,处理方法只有doPost时,会报错405
如果在重写的service方法中调用了父类的service方法(super.service(arg0,arg1))
则service方法处理完后,会根据请求方式寻找对应的doGet/doPost处理方法,一般情况下不这么做
上一篇: php防注入,表单提交值转义的实现详解
下一篇: Spring容器的创建过程源码解析
推荐阅读
-
doPost和doGet的区别?
-
Android实现音乐播放进度条传递信息的两种方式(在service和activity中)
-
android使用service和activity获取屏幕尺寸的方法
-
简介AngularJS中使用factory和service的方法
-
Android开发--Service和Activity通过广播传递消息
-
Service Provider Iterface (SPI) 和 sun.misc.Service
-
Service Provider Iterface (SPI) 和 sun.misc.Service
-
集成Nacos1.2.1和Dubbo2.7.6 消费者报错No provider available for the service xxx
-
Android service的两种使用方式bindService和startService使用方式
-
servlet中service doGet doPost 的关系