当前位置: 首页 > 知识库问答 >
问题:

只在默认开关情况下调用Servlet[重复]

谷梁嘉运
2023-03-14

这里,当url模式为“/login/new”时,不调用servlet,我通过打印到Console来验证这一点。它只适用于默认情况,即“/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”大小写中的函数。我遗漏了什么?

共有1个答案

王扬
2023-03-14

将路径更新为以下内容

@WebServlet("/Login/*")

,并尝试检查是否检索到URL路径的最后一部分和下面的小写

String action = request.getRequestURI();
action = action.substring(action.lastIndexOf("/")).toLowerCase();
 类似资料:
  • 问题内容: 我正在进行实验,发现以下代码可以在Eclipse上编译并正常运行(版本ID:20090920-1017,不确定确切的编译器版本): 在Eclipse中编译并运行时,此命令会正常打印并退出。 对于编译器,这将按预期方式抛出。 那么Eclipse Java编译器中有bug吗? 问题答案: 这是一个错误。这是根据 Java语言规范,第三版 的声明的指定行为: [JLS 14.11 声明](h

  • 我正在尝试使用以下步骤在Ruby中创建一个. rb文件: 这将创建一个名为“a”的文件,该文件工作正常;然而,当我将该文件重命名为.rb时,它会立即将该文件转换为文本文件。这是为什么? 我一直在创建文件,从一开始就创建了一个新文件,并将其命名为“< code>a.rb”,它会自动将其关联到一个ruby文件。现在,它只是将命名关联到一个文本文件,我必须去掉< code >。rb并在以后手动分配文件类

  • 我使用开关盒获得较大范围:

  • 默认情况下,我们的路由器是Yaf_Router, 而默认使用的路由协议是Yaf_Route_Static,是基于HTTP路由的, 它期望一个请求是HTTP请求并且请求对象是使用Yaf_Request_Http

  • 问题内容: 我有一个关于乐观锁定Hibernate的问题。我试图深入了解Hibernate的乐观锁定,但是我有一个疑问。Hibernate使用版本方法(整数或时间戳)来实现乐观锁定。要进行配置,您可以使用@Version批注(或xml配置)并创建一个version属性。另一个选项是使用optimistic- lock =“ all”属性进行配置而不进行版本控制。 我的问题是,如果您没有定义任何版本