servlet 中 service ,doGet , doPost 关系
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>servlet-test</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list> <servlet>
<servlet-name>MySer</servlet-name>
<servlet-class>test1.MySer</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MySer</servlet-name>
<url-pattern>/servlet/MySer</url-pattern>
</servlet-mapping> </web-app>
mySer
package test1; import java.io.IOException; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; public class MySer extends HttpServlet{ /**
*
*/
private static final long serialVersionUID = 1L; @Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws IOException,ServletException{ System.out.println("fa");
if(request.getMethod().equals("POST")){
doPost(request, response);
}
//一个servlet默认会执行service方法,service方法中会转向doget或者dopost(doget,dopost如果被子类覆盖,
//那个就执行子类的。如果你在子类中覆盖了service 方法,那么是否执行doget或者dopost ,就成为service方法
//的代码问题了)
} public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
System.out.println("get");
} public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
System.out.print("post");
request.setAttribute("msg", "登陆成功");
request.getRequestDispatcher("/success.jsp").forward(request, response);
//response.sendRedirect("/success.jsp");
//重定向是客户端发出的请求,所以是response请求,url地址栏改变
//请求转发是服务端发出的,所以是request请求,url地址栏不变 } }
index.jsp
<?xml version="1.0" encoding="utf-8" ?>
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Insert title here</title>
</head>
<body>
<form action="/servlet/MySer" name="f" method="post">
<input type="text" value="" name="usename"/>
<input type="password" value="" name="password"/>
<input type="submit" value="dengl"/>
</form>
</body>
</html>
需要把 javax.servlet. servlet-api.jar 放到lib下。
记得把Java build path - source 的 output folder 设置为 项目名/webapp/WEB-INF/classes下
servlet 中 service ,doGet , doPost 关系的更多相关文章
- servlet中service() doGet() doPost() 方法
HttpServlet 里的三个方法:service(HttpServletRequest req, HttpServletResponse resp) ,doGet(HttpServletReque ...
- [转]servlet中的service, doGet, doPost方法的区别和联系
原文地址:http://m.blog.csdn.net/blog/ghyg525/22928567 大家都知道在javax.servlet.Servlet接口中只有init, service, des ...
- servlet中的doGet()与doPost()以及service()的用法
doget和dopost的区别 get和post是http协议的两种方法,另外还有head, delete等 1.这两种方法有本质的区别,get只有一个流,参数附加在url后,大小个数有严格限制且只能 ...
- Servlet中service()方法
在学习Servlet的过程中,我们大多时候编码都是直接继承HttpServlet这个类,并且重写doGet ,doPost,但是查看Api时我们会发现Servlet接口 ,GenericSevlet抽 ...
- servlet中service() 和doGet() 、doPost() 学习笔记
Sevlet接口定义如下: 与Sevlet接口相关的结构图: service() 方法是 Servlet 的核心.每当一个客户请求一个HttpServlet 对象,该对象的service() 方法就要 ...
- SERVLET中的doGet与doPost两个方法之间的区别
get和post是http协议的两种方法,另外还有head, delete等 这两种方法有本质的区别,get只有一个流,参数附加在url后,大小个数有严格限制且只能是字符串.post的参数是通过另外的 ...
- Servlet中Service方法
doGet方法只能处理Get方式提交的请求,doPost则可以处理Post方式提交的请求, 一种既可以处理Get方式又可以处理Post方式的提交的请求,它就是Service方法. service方法用 ...
- Servlet 小试牛刀(doGet,doPost)
实验说明: 通过javax.servlet.http下的HttpServlet,HttpServletRequest,HttpServletResponse来完成一些常用Servlet实例 java代 ...
- servlet中为什么doGet方法没有被调用的一种可能(笔记)
创建了一个servlet,然后在doGet()方法内写一些简单的测试语句,但是在实际运行中发现并没有调用到doGet()方法,后来发现自己在创建servlet是将service()方法也勾选上去了,而 ...
随机推荐
- robot framework添加库注意事项
添加库 假设你的项目结构是这样: 项目 ..myLib(库目录) ..目录1 ..测试用例套件1 此时你需要在“测试用例套件1”中用相对路径添加库myLib,你应该填:../myLib/ 特别注意后面 ...
- shiro 没有权限异常处理
<bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver"> ...
- jquery ajax 赋值问题, 后面程序判断逻辑用
添加async:false; 像 $.get() 等是没有async参数的, 所以需要用到如下 $.ajaxSetup({ async : false //这个意思是等这个ajax有了返回值后才会执行 ...
- H5新标签
1. H5新标签 语义标签: <article>定义文章</article><aside>定义文章侧边栏</aside> <figure>定 ...
- JSP页面实现自动跳转
1 <html><head><script language=javascript> function out(obj) { var i = obj; if ( ...
- HTML meta 文本 格式排版 链接图表 列表 表单 frame后台布局实例
meta标签 content属性必须和http-equiv或者name属性一起使用 http-equiv属性,就是http当量,用于和服务器发送数据前的提交交互使用.(另层含义这个当量在浏览器和服务器 ...
- 软件工程导论复习 如何画系统流程图和数据流图 part1
一.数据流图与流程图的区别 数据流程图是以图形的方式表达在问题中信息的变换和传递过程.它把系统看成是由数据流联系的各种概念的组合,用分解及抽象手段来控制需求分析的复杂性,采用分层的数据流程图来表示一个 ...
- Windows 2008开启远程桌面连接
具体请看下面的截图. 最重要的就是要打开远程允许远程桌面的默认端口 3389 的入站规则,我第一次弄,这一端口没打开,折腾了很久!!! 第一.首先打开“服务器管理器”—“配置”—“高级安全Window ...
- Electron 的解释, 什么是Electron
https://wizardforcel.gitbooks.io/electron-doc/content/development/build-instructions-windows.html
- $(this).form("validate") 始终返回false
onsubmit 提交前触发,返回 false 来阻止提交动作. validate 进行表单字段验证,当全部字段都有效时返回 true .该方法和 validatebox 插件一起使用. 解决:注释掉 ...