xsi="http:
//www.w3.org/2001/XMLSchema-instance"xmlns="xmlns:
web="xsi:
schemaLocation="id="WebApp_ID"version="2.5">
test_servlet2
index.html
index.htm
index.jsp
default.html
default.htm
default.jsp
TestServlet
com.bjsxt.servlet.TestServlet
TestServlet
*.do
action_config.xml配置文件
xmlversion="1.0"encoding="UTF-8"?
>
Action.java接口Action
packagecom.bjsxt.servlet.action;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
publicinterfaceAction{
publicStringservice(HttpServletRequestrequest,HttpServletResponseresponse);
}
AddUserAction.java实现Action接口的添加类
packagecom.bjsxt.servlet.action;
importjava.util.List;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importcom.bjsxt.servlet.UserManager;
publicclassAddUserActionimplementsAction{
@Override
publicStringservice(HttpServletRequestrequest,
HttpServletResponseresponse){
//取得表单数据
Stringusername=request.getParameter("username");
UserManageruserManager=newUserManager();
ListuserList=userManager.addUser(username);
request.setAttribute("userlist",userList);
return"/seccess.jsp";
}
}
ModifyUserAction.java实现Action接口的修改类
packagecom.bjsxt.servlet.action;
importjava.util.List;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importcom.bjsxt.servlet.UserManager;
publicclassModifyUserActionimplementsAction{
@Override
publicStringservice(HttpServletRequestrequest,
HttpServletResponseresponse){
//取得表单数据
Stringusername=request.getParameter("username");
UserManageruserManager=newUserManager();
ListuserList=userManager.modifyUser(username);
request.setAttribute("userlist",userList);
return"/seccess.jsp";
}
}
QueryUserAction.java实现Action接口的查询类
packagecom.bjsxt.servlet.action;
importjava.util.List;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importcom.bjsxt.servlet.UserManager;
publicclassQueryUserActionimplementsAction{
@Override
publicStringservice(HttpServletRequestrequest,
HttpServletResponseresponse){
//取得表单数据
Stringusername=request.getParameter("username");
UserManageruserManager=newUserManager();
ListuserList=userManager.findUserByName(username);
request.setAttribute("userlist",userList);
return"/seccess.jsp";
}
}
UserManameger.java根据页面信息取得数据
packagecom.bjsxt.servlet;
importjava.util.ArrayList;
importjava.util.List;
publicclassUserManager{
//添加用户
publicListaddUser(Stringname){
ListuserList=newArrayList();
userList.add("添加数据一");
userList.add("添加数据二");
returnuserList;
}
//查找用户
publicListfindUserByName(Stringname){
ListuserList=newArrayList();
userList.add("查找数据一");
userList.add("查找数据二");
returnuserList;
}
//修改用户
publicListmodifyUser(Stringname){
ListuserList=newArrayList();
userList.add("修改数据一");
userList.add("修改数据二");
returnuserList;
}
}
TestXML.java取得配置文件action_config.xml文件
packagecom.bjsxt.servlet;
importjava.io.IOException;
importjavax.xml.parsers.DocumentBuilder;
importjavax.xml.parsers.DocumentBuilderFactory;
importjavax.xml.parsers.ParserConfigurationException;
importorg.w3c.dom.Document;
importorg.w3c.dom.Element;
importorg.w3c.dom.NodeList;
importorg.xml.sax.SAXException;
publicclassTestXML{
publicstaticStringgetStr(StringuiPath){
Classc=TestXML.class;
Stringfilename=c.getResource("").getPath().toString();
filename=filename.substring(0,filename.indexOf("classes")+"classes".length()+1)+"action_config.xml";
StringstrClass="";
Documentdocument=null;
DocumentBuilderFactoryfactory=DocumentBuilderFactory.newInstance();
DocumentBuilderbuilder;
try{
builder=factory.newDocumentBuilder();
document=builder.parse(filename);
}catch(ParserConfigurationExceptione){
e.printStackTrace();
}catch(SAXExceptione){
e.printStackTrace();
}catch(IOExceptione){
e.printStackTrace();
}
NodeListlist=document.getElementsByTagName("action");
for(inti=0;iElementtag=(Element)list.item(i);
Stringpath=tag.getAttribute("path");
if(uiPath.equals(path)){
strClass=tag.getAttribute("class");
}
}
returnstrClass;
}
}
TestServlet.java总体进分发及转向
packagecom.bjsxt.servlet;
importjava.io.IOException;
importjava.lang.reflect.InvocationTargetException;
importjava.lang.reflect.Method;
importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
publicclassTestServletextendsHttpServlet{
privatestaticfinallongserialVersionUID=1L;
protectedvoidservice(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{
StringforwardPath="/error.jsp";
StringcurrentURI=request.getRequestURI();
//System.out.println("currentURI"+currentURI);