这里,当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”大小写中的函数。我遗漏了什么?
将路径更新为以下内容
@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”属性进行配置而不进行版本控制。 我的问题是,如果您没有定义任何版本