我正在使用 SpringBoot 构建一个简单的 Web 应用程序。 所以我构建了一个简单的 html 表单来在控制器端发送用户名和密码。 这是login.html页面
<html lang="en" xmlns:th=http://www.thymeleaf.org
xmlns:sec=http://www.thymeleaf.org/extras/spring-security
xmlns:shiro=http://www.pollix.at/thymeleaf/shiro xmlns:form="http://www.w3.org/1999/xhtml">
<head>
<meta charset="UTF-8">
<title>Login</title>
<script src="https://code.jquery.com/jquery-3.3.1.min.js"
integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
crossorigin="anonymous"></script>
<script>
$(document).ready(function() {
$("#submit").click(function() {
alert("pippo");
console.log("chiamata ");
$.ajax({
type: "POST",
url: "http://localhost:8080/loginsubmit",
user: {
username: "michele.castriotta",
password: "password"
}/*,
success: function(msg) {
console.log(mgs);
alert(msg);
}*/
});
});
});
</script>
</head>
<body>
<h1>Login screen</h1>
<form:form action="loginsubmit" method="post" modelAttribute="user">
<label>Username</label>
<input type="text" name="username">
<label>Password</label>
<input type="text" name="password">
<p>
<input id="submit" name="submit" type="submit" value="Submit" /> </p>
</form:form>
</body>
</html>
这是我的控制器.java 类:
package it.easyEuc.springsecuritycustomlogin;
import it.easyEuc.springsecuritycustomlogin.model.LoginModel;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
@Controller
public class LoginController {
Logger logger = LoggerFactory.getLogger(LoginController.class);
@GetMapping("/login")
public String login(){
logger.info("login get");
return "login";
}
@PostMapping("/loginsubmit")
public String loginsubmit(@ModelAttribute LoginModel user) {
logger.info("login post");
//model.addAttribute("username", login.getUsername());
//model.addAttribute("password", login.getPassword());
return "result";
}
}
问题是,当我点击提交按钮时,没有调用java控制器的“loginsubmit”方法。
我可以做什么来修复它
这是控制台日志
您收到 HTTP 404 错误吗? 你启用WebMvc了吗? 你的 get 映射工作正常吗?