在DispatcherServlet中找不到带有URI 的HTTP请求的映射,名称为“java4s”

早些时候我的代码工作但现在我遇到这个错误有时代码工作,有时它不起作用。

我的代码是

Java4sController.java

package java4s; import javax.validation.Valid; import javax.servlet.http.HttpServletRequest; //import javax.servlet.http.HttpServlet; //import javax.servlet.*; import javax.servlet.http.*; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import java.sql.*; //import org.h2.jdbcx.JdbcConnectionPool; //import org.springframework.security.core.context.SecurityContextHolder; @Controller public class Java4sController { HttpSession session; String uname="",pass=""; Statement stmt; Connection conn; @RequestMapping(value="displayForm.html", method=RequestMethod.GET) public String helloWorld(UserDetails ud,HttpServletRequest request,HttpServletResponse response) { return "loginPage"; } @RequestMapping("/login") public String loginCheck(@Valid UserDetails userDetails, BindingResult result, ModelMap model,HttpServletRequest request,HttpServletResponse response)throws Exception { System.out.println("In the login page"); String username=userDetails.getUser(); String password=userDetails.getPassword(); if (result.hasErrors()) { return "loginPage"; } try { Class.forName("org.h2.Driver"); conn = DriverManager. getConnection("jdbc:h2:file:C:/Users/patilv/test", "sa", ""); // add application code here if(conn!=null) { System.out.println("No connection"); } stmt=conn.createStatement(); String sql="Select * FROM table1 WHERE username='"+username+"' AND password='"+password+"' "; ResultSet rs=stmt.executeQuery(sql); while(rs.next()) { uname=rs.getString("username"); pass=rs.getString("password"); if (result.hasErrors()) { return "loginPage"; } else if(username.equals(uname)&&password.equals(pass)) { //session.invalidate(); response.setHeader("Cache-Control","no-cache"); response.setHeader("Cache-Control","no-store"); response.setDateHeader("Expires", 0); response.setHeader("Pragma","no-cache"); session = request.getSession(); // create session session.setAttribute("username", username); session.setAttribute("password", password); //String str1=(String)session.getAttribute(username); model.addAttribute("lfobj", userDetails); //model.addAttribute(str1); conn.close(); return "success"; } else { conn.close(); return "loginPage"; } } }finally{ //finally block used to close resources try{ if(stmt!=null) conn.close(); }catch(SQLException se){ }// do nothing try{ if(conn!=null) conn.close(); }catch(SQLException se){ se.printStackTrace(); }//end finally try }//end try return "abcd"; } @RequestMapping(value="logoutform", method=RequestMethod.GET) public String helloWorld1(UserDetails ud,HttpServletRequest request,HttpServletResponse response) { System.out.println("\nabcdef\n"); response.setHeader("Cache-Control","no-cache"); response.setHeader("Cache-Control","no-store"); response.setDateHeader("Expires", 0); response.setHeader("Pragma","no-cache"); String username=ud.getUser(); // String password=ud.getPassword(); HttpSession session1; session1=request.getSession(false); System.out.println("Session :"+session1.getAttribute("username")); if(session1!=null) { //session1.removeAttribute(username); session1.invalidate(); Cookie[] cookies = request.getCookies(); for (Cookie cookie : cookies) { cookie.setMaxAge(0); cookie.setValue(null); cookie.setPath("/"); response.addCookie(cookie); } System.out.println("invalidating session"); //session1.invalidate(); } return "logoutsuccess"; } } 

web.xml中

    java4s org.springframework.web.servlet.DispatcherServlet 1   java4s *.jsp   index.jsp   

java4s-servlet.xml中

     <!--  -->         

我的目录结构是

在此处输入图像描述

你的代码有几个拼写错误。

1. URL不统一

  • displayForm.html
  • /login
  • logoutForm

2.在web.xml映射不正确

  • *.jsp

因此, 解决方案是维护一种格式或更改映射。

web.xml

/并使用任何格式,如*.html,*.action,*.do

添加/到所有RequestMappings/displayForm.html,/logoutForm

并且错误是没有找到带HTTP的HTTP请求的映射[/ LoginApp /]

  • 原因是/没有请求映射。 编写一个方法来处理/请求并将index.jsp放在WEB-INF/pages

    @RequestMapping(value="/", method=RequestMethod.GET) public String loadApp(UserDetails ud,HttpServletRequest request,HttpServletResponse response) { return "index"; }

更新:

尝试in web.xml提及java4s-servlet.xml

   contextConfigLocation  /WEB-INF/java4s-servlet.xml