此处,当url模式为“ / Login / new”时,不会调用我通过打印到控制台进行验证的servlet。它仅适用于“ / Login”的默认情况
@WebServlet("/Login")
public class UserServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private UserDAO userDAO;
public void init()
{
userDAO = new UserDAO();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("Servlet invoked !!");
String action = request.getServletPath();
System.out.println(action);
switch(action)
{
case "/new":
showNewForm(request,response);
break;
case "/insert":
insertUser(request, response);
break;
case "/update":
updateUser(request, response);
break;
case "/delete":
deleteUser(request, response);
break;
case "/edit":
showEditForm(request, response);
break;
case "/login":
RequestDispatcher dispatcher= request.getRequestDispatcher("/login.jsp");
dispatcher.forward(request, response);
default:
//listUser(request,response);
showLogin(request,response);
break;
}
“ /登录”的输出: [
理想的输出是应调用“ / new”大小写形式的函数。我缺少什么?
将路径更新为以下内容
@WebServlet("/Login/*")
,并尝试检查您是否正在检索URL路径的最后一部分,并在后面加上小写字母
String action = request.getRequestURI();
action = action.substring(action.lastIndexOf("/")).toLowerCase();
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句