springMVC+spring+MyBatis框架,ajax请求总是访问不到路径

Wo_Jelson 2015-04-24 09:26:33
spring-servlet.xml配置:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"
xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">

<!-- DispatcherServlet Context: defines this servlet's request-processing infrastructure -->
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" >
<property name="messageConverters">
<list>
<bean class = "org.springframework.http.converter.StringHttpMessageConverter">
<property name = "supportedMediaTypes">
<list>
<value>text/html;charset=UTF-8</value>
</list>
</property>
</bean>
</list>
</property>
</bean>

<!-- ②:启动Spring MVC的注解功能,完成请求和注解POJO的映射,添加拦截器,类级别的处理器映射 -->
<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
</bean>
<context:annotation-config />
<context:component-scan base-package="com.sys.service..*" />

<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean>
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"></bean>

<!-- 设置使用注解的类所在的jar包 -->
<context:component-scan base-package="com.sys.controller"></context:component-scan>
<!-- 注解扫描包 -->
<!-- <context:component-scan base-package="com.sys.controller" /> -->
<!-- 开启注解 -->
<mvc:annotation-driven />

<!-- 静态资源访问 -->
<!-- <mvc:resources location="/img/" mapping="/img/**" />
<mvc:resources location="/js/" mapping="/js/**" /> -->
<mvc:resources mapping="/resources/**" location="/WEB-INF/resources/" />
<mvc:resources mapping="/login.html" location="/" />
<mvc:resources mapping="/index.html" location="/" />

<!-- 视图解析器 -->
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/html/"></property>
<property name="suffix" value=".html"></property>
</bean>

<!-- ①:注解扫描,对包中的所有类进行扫描,以完成Bean创建和自动依赖注入的功能 , -->
<context:component-scan base-package="com.sys">
<context:include-filter type="regex" expression="com.sys.controller.*Controller" />
<context:exclude-filter type="regex" expression="com.sys.service.impl.*Impl" />
</context:component-scan>


<!-- 文件解析上传文件时用到 -->
<!-- <bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="defaultEncoding" value="utf-8" />
<property name="maxUploadSize" value="10485760000" />
<property name="maxInMemorySize" value="40960" />
</bean> -->
</beans>

html代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>用户注册</title>
<script type="text/javascript" src="../js/jquery-1.8.3.min.js"></script>
<script type="text/javascript" src="../js/jquery.query-2.1.7.js"></script>
<script type="text/javascript" src="../js/common.js" charset="utf-8"></script>
<script type="text/javascript" src="../js/jquery-1.9.1.min.js" charset="utf-8"></script>
<script type="text/javascript">
function register(){
var uname = $("#uname").val();
var upwd = $("#upwd").val();
alert(1);
$.ajax({
url : "/ssmTest/users/addUser",
data : {"user.uname":uname,"user.upwd":upwd},
type : "POST",
dataType : "json",
success : function(result){
if(result.res == true){
alert("注册成功!");
}else{
alert("注册失败!");
}
}
});
}

function clearText(){
$("#uname").val("");
$("#upwd").val("");
}
</script>
</head>
<body>
用户名:
<input type="text" id="uname" size="20" maxlength="20"><br>
密 码:
<input type="text" id="upwd" size="20" maxlength="16"><br>
<input type="submit" value="提交" onclick="register()">
      
<input type="submit" value="重置" onclick="clearText()">

</body>
</html>

Controller:
package java.com.sys.controller;

import java.com.sys.entity.Users;
import java.com.sys.service.IUserService;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@RequestMapping(value="/users")
public class UserController {
@Autowired
private IUserService userService;

@RequestMapping(value="/addUser")
public Map<String, Object> addUser(Users user){
return userService.addUser(user);
}
}




...全文
1206 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_27622265 2016-07-12
  • 打赏
  • 举报
回复
数据映射出现问题,将前端的data数组的key值去掉user.
Wo_Jelson 2015-04-27
  • 打赏
  • 举报
回复
以上这些方法都试过了,都没好用
microhex 2015-04-25
  • 打赏
  • 举报
回复
删掉猫中的项目,重新部署,重新请求。。。
Wo_Jelson 2015-04-24
  • 打赏
  • 举报
回复
断点不进,而且加上@Responsebody也还是404
godlovme 2015-04-24
  • 打赏
  • 举报
回复
为什么controller上没有加@responsebody,如果你其他的访问路径没有问题的话,你加上试试。或者你打断点看能不能进方法,能进方法最大可能就是这个地方有问题。
Wo_Jelson 2015-04-24
  • 打赏
  • 举报
回复
试了,直接访问方法也是404
  • 打赏
  • 举报
回复
那就用http://localhost:8080/users/addUser 这个试试
Wo_Jelson 2015-04-24
  • 打赏
  • 举报
回复
调试报的POST http://localhost:8080/ssmTest/users/addUser 404 (Not Found)
  • 打赏
  • 举报
回复
打开浏览器调试模式(F12),看看报什么错就大概清楚了
godlovme 2015-04-24
  • 打赏
  • 举报
回复
把controller的包名改掉试试,你这个明显没把controller扫描进来嘛。
Wo_Jelson 2015-04-24
  • 打赏
  • 举报
回复
扫描配置成java.com.sys,启动服务的时候就会报错
godlovme 2015-04-24
  • 打赏
  • 举报
回复
你的包名为什么是package java.com.sys.controller,而扫描里面配置的是com.sys.
Wo_Jelson 2015-04-24
  • 打赏
  • 举报
回复
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <!-- 启动spring mvc --> <servlet> <servlet-name>spring</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath*:config/spring-servlet.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <!-- 中文乱码拦截器 --> <filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- 拦截所有的请求,如果将/换成*.do 代表拦截所有的.do请求 --> <servlet-mapping> <servlet-name>spring</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.html</welcome-file> </welcome-file-list> </web-app> web.xml是这么配置的 静态资源可以访问到路径
godlovme 2015-04-24
  • 打赏
  • 举报
回复
你配置的静态资源可以直接访问不,能不能找到路径
godlovme 2015-04-24
  • 打赏
  • 举报
回复
能看一下你web.xml里面的配置不,是不是直接配置的/*

81,090

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧