在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>
结果是都可以访问到。