方法一 jsp部分页面为 :
<a href = "customerServlet?method=add">Add</a>
<a href = "customerServlet?method=query">Query</a>
<a href = "customerServlet?method=delete">Delete</a>
<a href = "customerServlet?method=update">Update</a>
servlet 配置 :
<servlet>
<servlet-name>CustomerServlet1</servlet-name>
<servlet-class>com.zyl.mvcapp.servlet.CustomerServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>CustomerServlet1</servlet-name>
<url-pattern>/customerServlet</url-pattern>
</servlet-mapping>
servlet部分代码:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String method = request.getParameter("method");
switch (method) {
case "add":add(request,response);break;
case "query":query(request,response);break;
case "delete":delete(request,response);break;
case "update":update(request,response);break;
}
}
private void update(HttpServletRequest request, HttpServletResponse response) {
System.out.println("update");
}
private void delete(HttpServletRequest request, HttpServletResponse response) {
System.out.println("delete");
}
private void query(HttpServletRequest request, HttpServletResponse response) {
System.out.println("query");
}
private void add(HttpServletRequest request, HttpServletResponse response) {
System.out.println("add");
}
private void edit(HttpServletRequest request, HttpServletResponse response) {
System.out.println("edit");
}
缺陷方法一:不安全在浏览器会显示操作的方法;且需要调加一种方法时需要大改
方法二 jsp部分页面为 :
<a href = "add.do">Add</a>
<br><br>
<a href = "query.do">Query</a>
<br><br>
<a href = "delete.do">Delete</a>
<br><br>
<a href = "update.do">Update</a>
<br><br>
<a href = "edit.do">Edit</a>
servlet 配置 :
<servlet>
<servlet-name>CustomerServlet1</servlet-name>
<servlet-class>com.zyl.mvcapp.servlet.CustomerServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>CustomerServlet1</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
servlet部分代码:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String servletPath = request.getServletPath();
String methodname = servletPath.substring(1);
methodname = methodname.substring(0,methodname.length()-3);
Method method;
try {
method = getClass().getDeclaredMethod(methodname, HttpServletRequest.class,HttpServletResponse.class);
method.invoke(this, request,response);
} catch (Exception e) {
e.printStackTrace();
}
}
//更新方法
private void update(HttpServletRequest request, HttpServletResponse response) {
System.out.println("update");
}
//删除方法
private void delete(HttpServletRequest request, HttpServletResponse response) {
System.out.println("delete");
}
// 查询方法
private void query(HttpServletRequest request, HttpServletResponse response) {
System.out.println("query");
}
//添加方法
private void add(HttpServletRequest request, HttpServletResponse response) {
System.out.println("add");
}
//编辑方法
private void edit(HttpServletRequest request, HttpServletResponse response) {
System.out.println("edit");
}