package com.action.servlet;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.action.actiona.A;
import com.action.actiona.Aa;
public class ActionServlet extends HttpServlet{
private Map<String, A> a;
@Override
public void init(ServletConfig config) throws ServletException {
a=new HashMap<String,A>();
a.put("/user", new Aa());
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// TODO Auto-generated method stub
this.doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// TODO Auto-generated method stub
String actionpath= req.getServletPath();
String key=actionpath.substring(0, actionpath.lastIndexOf(".action"));
A action= a.get(key);
try {
action.X();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
package com.action.actiona;
public abstract class A {
public abstract String X() throws Exception;
}
package com.action.actiona;
public class Aa extends A{
@Override
public String X() {
System.out.println("成功了");
return null;
}
//创建一个jsp
<a href="user.action">测试</a>
//要导包
//WEB文件
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>com.action.servlet.ActionServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.action</url-pattern>
</servlet-mapping>