package com.bjpowernode.servlet;
public class UserManager {
public void add(String username)
{
System.out.println("UserManager.add()-->>"+ username);
}
}
<servlet>
<servlet-name>TestServlet</servlet-name>
<servlet-class>com.bjpowernode.servlet.TestServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>TestServlet</servlet-name>
<url-pattern>/servlet/TestServlet</url-pattern>
</servlet-mapping>
package com.bjpowernode.servlet;
import java.io.IOException;
import java.util.List;
import javax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
public class TestServlet extendsHttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String username = request.getParameter(“username”);
UserManager userManager = new UserManager();
userManager.add(username);
request.getRequestDispatcher(“/add_success.jsp”).forward(request,response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request,response);
}
}
<form action="servlet/queryUser.action" method="post">
姓名:<input type="text" name="username"><br>
<input type="submit" value="提交"><br>
</form>
import java.io.IOException;
import java.util.List;
importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
public class TestServlet extendsHttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//截取url.
String requestURI = request.getRequestURI();
//System.out.println("requestURI="+ requestURI);
//截取http://localhost:8080/test_servlet/servlet/addUser.action test_servlet后面的东西。
String path = requestURI.substring(requestURI.indexOf("/", 1),requestURI.indexOf("."));
//截取得到虚目录。/servlet/addUser
System.out.println("path="+ path);
String username = request.getParameter("username");
UserManager userManager = new UserManager();
String forward = "";
//判断截取的path和哪个要加载的页面相等.
if("/servlet/delUser".equals(path))
{
userManager.del(username);
forward = "del_success.jsp";
//request.getRequestDispatcher("/del_success.jsp").forward(request,response);
}else if("/servlet/addUser".equals(path))
{
userManager.add(username);
forward= "add_success.jsp";
//request.getRequestDispatcher("/add_success.jsp").forward(request,response);
}else if("/servlet/modifyUser".equals(path))
{
userManager.modify(username);
forward= "modify_success.jsp";
//request.getRequestDispatcher("/modify_success.jsp").forward(request,response);
}else if("/servlet/queryUser".equals(path))
{
List userList = userManager.query(username);
request.setAttribute("userList",userList);
forward= "query_success.jsp";
//request.getRequestDispatcher("/query_success.jsp").forward(request,response);
}else
{
throw new RuntimeException("请求失败!");
}
request.getRequestDispatcher(forward).forward(request,response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throwsServletException, IOException {
doGet(request,response);
}
}
package com.bjpowernode.servlet;
import java.util.ArrayList;
import java.util.List;
public class UserManager {
public void add(String username)
{
System.out.println("UserManager.add()-->>"+ username);
}
public void del(String username)
{
System.out.println("UserManager.del()-->>"+ username);
}
public void modify(String username)
{
System.out.println("UserManager.modify()-->>"+ username);
}
public List query(String username)
{
System.out.println("UserManager.query()-->>"+ username);
List userList = new ArrayList();
userList.add("a");
userList.add("b");
userList.add("c");
return userList;
}
}
<body>
<form action="servlet/queryUser.action" method="post">
姓名:<input type="text" name="username"><br>
<input type="submit" value="提交"><br>
</form>
</body>
String username = request.getParameter("username");
UserManager userManager = new UserManager();
String forward = "";
//判断截取的path和哪个要加载的页面相等.
if("/servlet/delUser".equals(path))
{
userManager.del(username);
forward= "del_success.jsp";
}else if("/servlet/addUser".equals(path))
{
userManager.add(username);
forward= "add_success.jsp";
}elseif("/servlet/modifyUser".equals(path))
{
userManager.modify(username);
forward= "modify_success.jsp";
}else if("/servlet/queryUser".equals(path))
{
List userList = userManager.query(username);
request.setAttribute("userList",userList);
forward= "query_success.jsp";
}else
{
thrownew RuntimeException("请求失败!");
}
request.getRequestDispatcher(forward).forward(request,response);
package com.bjpowernode.servlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
public interface Action {
public String execute(HttpServletRequest request, HttpServletResponse response) throws Exception;
}
AddUserAction代码。
package com.bjpowernode.servlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
public class AddUserActionimplements Action {
@Override
public String execute(HttpServletRequest request,HttpServletResponse response) throws Exception {
String username = request.getParameter("username");
//Stringsex = request.getParameter("sex");
//...........
//调用业务逻辑.
UserManager userManager = new UserManager();
userManager.add(username);
return"/add_success.jsp";
}
}
package com.bjpowernode.servlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
public class DelUserActionimplements Action {
@Override
public String execute(HttpServletRequest request,HttpServletResponse response) throws Exception {
String username = request.getParameter("username");
//String sex = request.getParameter("sex");
//...........
//调用业务逻辑.
UserManager userManager = new UserManager();
try
{
userManager.del(username);
}catch(Exceptione)
{
return"del_error.jsp";
}
return"/del_success.jsp";
}
}
package com.bjpowernode.servlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
public class ModifyUserActionimplements Action {
@Override
public String execute(HttpServletRequest request,HttpServletResponse response) throwsException {
String username = request.getParameter("username");
//String sex = request.getParameter("userId");
//...........等其他...
//调用业务逻辑.
UserManager userManager = new UserManager();
userManager.modify(username);
return"/modify_success.jsp";
}
}
package com.bjpowernode.servlet;
import java.util.List;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
public class QueryUserActionimplements Action {
@Override
public String execute(HttpServletRequest request,HttpServletResponse response) throwsException {
String username = request.getParameter("username");
//Stringsex = request.getParameter("userId");
//其他查询条件.
//...........等其他...
//调用业务逻辑.
UserManager userManager = new UserManager();
List userList = userManager.query(username);
request.setAttribute("userList",userList);
return"/query_success.jsp";//转向路径都可以通过配置文件读取。
}
}
//用多态的方式.
Action action = null;
if("/servlet/delUser".equals(path))
{
action= new DelUserAction();
}else if("/servlet/addUser".equals(path))
{
action= new AddUserAction();
}else if("/servlet/modifyUser".equals(path))
{
action= new ModifyUserAction();
}else if("/servlet/queryUser".equals(path))
{
action= new QueryUserAction();
}else
{
throw new RuntimeException("请求失败!");
}
//取得action后传递过去。动态调用ACtion中的execute方法。
String forward = null;
try{
forward= action.execute(request,response);
}catch (Exception e) {
e.printStackTrace();
}
//根据路径完成转向。
request.getRequestDispatcher(forward).forward(request, response);
<action-config>
<action path="/servlet/delUser" type="com.bjpowernode.servlet.DelUserAction">
<forward name="success">/del_success.jsp</forward>
<forward name="error">/del_error.jsp</forward>
</action>
<action path="/servlet/addUser" type="com.bjpowernode.servlet.AddUserAction">
<forward name="success">/add_success.jsp</forward>
<forward name="error">/add_error.jsp</forward>
</action>
<action path="/servlet/modifyUser" type="com.bjpowernode.servlet.ModifyUserAction">
<forward name="success">/modify_success.jsp</forward>
<forward name="error">/modify_error.jsp</forward>
</action>
<action path="/servlet/queryUser" type="com.bjpowernode.servlet.QueryUserAction">
<forward name="success">/query_success.jsp</forward>
<forward name="error">/query_error.jsp</forward>
</action>
</action-config>
ActionMapping
{
private String path;
private String type;
Map forwardMap;
}
forwardMap
{
key="success";
value="/del_success.jsp"
key="error";
value="/del_error.jsp";
}
Map map = new HashMap();
map.put("/servlet/delUser",);
map.put("/servlet/addUser",);
map.put("/servlet/modifyUser",);
map.put("/servlet/queryUser",);
//如果是删除的ActionMapping存储如下:
actionMapping
{
path="/servlet/delUser";
type="com.bjpowernode.servlet.DelUserAction";
forwardMap
{
key="success",value="/del_success.jsp";
key="error",value="/del_error.jsp";
}
}
String path ="/servlet/delUser";
//根据截取的URL请求,到Map中取得本次请求对应的Action。
ActionMapping actionMapping =(ActionMappint)map.get(path);
// 取得本次请求对应的Action类的完成路径。
String type =actionMappint.getType();//com.bjpowernode.servlet.DelUserAction
//通过反射动态实例化Action
Aciton action =(Action)class.forName(type).newInstance();
//取得action后传递过去。动态调用ACtion中的execute方法。
String forward =action.execute(request,response);
//根据路径完成转向。
request.getRequestDispatcher(forward).forward(request,response);
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有