1、一个表单(index.jsp)
<!-- 在此例题中修改action的值,查看转向的效果 -->
<form action="userModify.do" method="post">
姓名:<input type="text" name="username"><br>
<input type="submit" value="提交">
</form>
2、web.xml配置文件,配置表单提交后,用来指明处理该表单的类

Code
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>net.nyist.servlet.ServletActionForm</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
3、处理表单的类--ServletActionForm.java

Code
package net.nyist.servlet;
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 ServletActionForm extends HttpServlet {
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
//获取表单中传过来的值
String username = req.getParameter("username");
//得到请求的http地址(如:/from_servlet_start/user.do)
String uri = req.getRequestURI();
//去掉后面的.do (如:/from_servlet_start/user)
uri = uri.substring(0, uri.indexOf("."));
//去掉/from_servlet_start/,赛选出user
uri = uri.substring(uri.lastIndexOf("/") + 1);
Action action = null;
String path = "";
//处理action
if("userAdd".equals(uri)) {
action = new UserAddAction();
path = action.execute(req, resp);
} else if("userDelete".equals(uri)) {
action = new UserDeleteAction();
path = action.execute(req, resp);
} else if("userModify".equals(uri)) {
action = new UserModifyAction();
path = action.execute(req, resp);
}
//跳转页面
req.getRequestDispatcher(path).forward(req, resp);
}
}
4、Actoin接口

Code
package net.nyist.servlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public interface Action {
public String execute(HttpServletRequest req, HttpServletResponse resp);
}
5、ServletActoinForm.java中用到的类如下:
---UserAddAction.java类

Code
package net.nyist.servlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class UserAddAction implements Action {
public String execute(HttpServletRequest req, HttpServletResponse resp) {
// TODO Auto-generated method stub
return "/userAdd.jsp";
}
}
----UserDeleteAction.java类

Code
package net.nyist.servlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class UserDeleteAction implements Action {
public String execute(HttpServletRequest req, HttpServletResponse resp) {
// TODO Auto-generated method stub
return "/userDelete.jsp";
}
}
----UserModifyAction.java类

Code
package net.nyist.servlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class UserModifyAction implements Action {
public String execute(HttpServletRequest req, HttpServletResponse resp) {
// TODO Auto-generated method stub
return "/userModify.jsp";
}
}