$("#btn-submit").click(function () {
var username=document.getElementById("username");
var password=document.getElementById("password");
$.ajax({
url:"login",
contentType: 'application/json;charset=utf-8',
dataType: 'text',
headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')},
data: {
username:username.value,
password:password.value
},
type: 'get',
success: function (response) {
if (response=="1") {
alert(response);
}
else alert(response);
},
error: function (x, e) {
console.log(e)
}
});
});
LoginController.java
@RequestMapping("/login")
@Controller
public class LoginController {
@Autowired
private UserService userService;
@RequestMapping(value = { "/login" }, method = RequestMethod.GET)
@ResponseBody
public int checkValid(@RequestParam("username") String username,@RequestParam("password") String password, HttpServletRequest request, HttpServletResponse response, Locale locale, Model model){
try {
if (userService.findByUserName(username).equals(hashPass(password))){
return 1;
}
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
return 0;
}
return 0;
}
public String hashPass(String pass) throws NoSuchAlgorithmException {
MessageDigest md = MessageDigest.getInstance("SHA-256");
byte[] hashInBytes = md.digest(pass.getBytes(StandardCharsets.UTF_8));
// bytes to hex
StringBuilder sb = new StringBuilder();
for (byte b : hashInBytes) {
sb.append(String.format("%02x", b));
}
return sb.toString();
}
}
spring-config-servlet.xml
<?xml version="1.0" encoding="UTF-8"?>
http://www.springframework.org/schema/jdbc/springframework.org/schema/mvc/springmvc-4.3.xsd http://www.springframework.org/schema/mvc/springmvc-4.3.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/springbeans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/tx
<!-- Enable Annotation based Declarative Transaction Management -->
<tx:annotation-driven proxy-target-class="true"
transaction-manager="transactionManager" />
<!-- Creating TransactionManager Bean, since JDBC we are creating of type
DataSourceTransactionManager -->
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<bean id="postsDAO" class="com.blog.dao.impl.PostsDAO">
<property name="jdbcTemplate" ref="jdbcTemplate"/>
</bean>
<bean id="postsService" class="com.blog.service.impl.PostsService">
<property name="postsDAO" ref="postsDAO"/>
</bean>
<bean id="userDAO" class="com.blog.dao.impl.UserDAO">
<property name="jdbcTemplate" ref="jdbcTemplate"/>
</bean>
<bean id="userService" class="com.blog.service.impl.UserService">
<property name="userDAO" ref="userDAO"/>
</bean>
我使用tomcat 9错误:无法加载资源:服务器响应http://localhost:8080/blog_war_explorded/login?username=root&password=root,状态为404()
请查看您的错误:您正在访问http://localhost:8080/blog_war_explorded/login
,但您实际上想访问http://localhost:8080/login
。
原因是您将您的URL指定为login
而不是/login
,因此它是相对于当前“目录”而不是根的。
将代码更改为使用/login
应该可以解决此问题:
$.ajax({
url: "/login",
...
})
另外,通过GET请求这样做并不是一个好主意--除其他外,密码将以明文形式存储在服务器日志中。您应该改用POST请求。
更新:
而且,您似乎在使用/login
的两个请求映射,它们是相互叠加的,因此最终将使用/login/login
。查看如何正确使用@requestmapping
。
我试图发送一个体在后请求在一个springboot应用程序使用Rest模板。这里是控制器:(我删除了,因为我使用了头) 我想发送对象(lang,key和text)作为帖子请求中的正文,以获得mcResent: 公共mc响应parseTheSentiments(字符串文本,语言lang,字符串键)抛出异常{ } 但是,我得到了以下错误:404null。 你能帮帮我吗?提前感谢,以下是服务等级:
我想用响应替换http异常,也就是说,我使用我想返回的responseentity,例如409如果没有通过名称找到用户,509如果没有通过邮件找到用户,我可以确定responseentity中的错误号及其描述吗?如果有,可以举例说明吗?
我已经用Spring Boot构建了一个应用程序,并将其部署在远程Tomcat服务器中。每当我向应用程序的唯一endpoint发出请求时,我会得到一个404。我将所有上下文路径设置为相同的名称/跟踪器,但仍然没有设置。我不知道我是不是错过了什么。 这是我得到的信息: 源服务器未找到目标资源的当前表示形式,或不愿意透露存在此表示形式。 我正在使用我在我的本地环境中使用的相同的工作完美。 有效载荷 封
我正在开发一个简单的Spring Boot base rest应用程序,该应用程序已部署到外部tomcat服务器中,并带有jndi数据源。当我运行应用程序时,数据库被创建,这意味着应用程序能够读取实体类并创建hibernate ddl。然而,当我试图点击postman的rest url时,返回了一条404错误消息。这是在我将应用程序移动到外部服务器之后发生的,当我使用嵌入式服务器时,我能够点击UR
当我从Eclipse运行Spring Boot应用程序时,它在嵌入式Tomcat服务器上正常运行,但当我将其部署到外部tomcat服务器(在Windows上)时,我将获得HTTP 404状态。 我清理了包并从本地tomcat服务器上tomcat webapps文件夹中的目标文件夹war文件中复制,然后重新启动了tomcat,但是。。。 当我运行获取方法在邮递员与endpointhttp://loc
我正在创建一个RESTFul Web服务,其可用服务如下: 当空列表返回时,我将在浏览器中得到以下响应: