在web中如果是多个角色,对应一个servlet的操作,就需要把一个servlet映射到不同的文件目录上,这样就不用为每个角色都写相同的代码。
举一个简单的例子。
需要映射的servlet:
package com.akwolf.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class MultiMappingServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request, response) ;
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter writer = response.getWriter() ;
writer.write("Multi-Mapping!!!") ;
}
}
进行映射的web.xml文件:
<servlet>
<description></description>
<display-name>MultiMappingServlet</display-name>
<servlet-name>MultiMappingServlet</servlet-name>
<servlet-class>com.akwolf.servlet.MultiMappingServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MultiMappingServlet</servlet-name>
<url-pattern>/admin/multiMappingServlet.do</url-pattern>
<url-pattern>/user/multiMappingServlet.do</url-pattern>
</servlet-mapping>
分别在amdn和user文件下建立两个页面进行访问。
<a href="multiMappingServlet.do">multiMappingServlet.do</a>
结果是都可以访问到。