javaWeb 站内虚拟路径

 项目开发过程中,多方式登录时隐藏实际路径

 

import java.io.IOException;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * 站内虚拟路径
 * 
 * @author xbwang
 * 
 */
@WebServlet(urlPatterns = { "/ca.do", "/phone.do" })
public class VirtualPathServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;

	public void init(ServletConfig config) throws ServletException {
	}

	protected void doGet(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		String fileAddr = "login/login.jsp";
		if ("/phone.do".equalsIgnoreCase(request.getServletPath())) {
			fileAddr = "login/phoneLogin.jsp";
		} else if ("/ca.do".equalsIgnoreCase(request.getServletPath())) {
			fileAddr = "login/caLogin.jsp";
		}
		request.getRequestDispatcher(fileAddr).forward(request, response);
	}

	protected void doPost(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		this.doGet(request, response);
	}
}

 

PS

Servlet2.5版本以上

你可能感兴趣的:(servlet,javaweb)