SpringMVC No mapping found for HTTP request with URI [/ssm-mode/manage/login.do]

墨皓 2017-02-20 09:30:04
求助,这个错误怎么解决?
我的springMVC配置文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.1.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">
<!-- 自动扫描该包,使SpringMVC认为包下用了@controller注解的类是控制器 -->
<context:component-scan base-package="com.yh" />
</beans>

spring+mybatis配置
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd">

<context:component-scan base-package="com.yh.dao,com.yh.service" />

<!-- 配置数据源 -->
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>com.mysql.jdbc.Driver</value>
</property>
<property name="url">
<value>jdbc:mysql://localhost:3306/mysql</value>
</property>
<property name="username">
<value>yanhao</value>
</property>
<property name="password">
<value>123456</value>
</property>
</bean>

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="mapperLocations" value="classpath:usermapper.xml" />
</bean>
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.yh.dao" />
<property name="sqlSessionFactory" ref="sqlSessionFactory" />
</bean>

<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"></property>
</bean>
</beans>

web.xml配置
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID" version="3.0">



<!-- 配置springmvc主servlet -->
<servlet>
<servlet-name>springMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

<init-param>
<param-name>contextClass</param-name>
<param-value>org.springframework.web.context.support.AnnotationConfigWebApplicationContext</param-value>
</init-param>

<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc-config.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>springMVC</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>

<filter>
<filter-name>CharacterEncodingFilter</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>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
...全文
325 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
yql1986 2017-02-20
  • 打赏
  • 举报
回复
你的web.xml配置文件少配置了 org.springframework.web.context.ContextLoaderListener 你的controller类中应该无法注入UserService userService 因为没有配置spring启动 spring和springmvc的BeanFactory的上下文不在一起
  • 打赏
  • 举报
回复

package com.maven.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

import com.maven.entity.User;


@Controller
public class LoginAction{
	@RequestMapping(value = "/login/login.do" , method = RequestMethod.POST)
	public String login(String name,String pwd){
		System.out.println("name:" + name);
		System.out.println("pwd:" + pwd);
		return "success";
	}
	
	@RequestMapping(value = "/login/json.do" , method = RequestMethod.GET)
	public @ResponseBody User getJson(String name,String pwd){
		User u = new User(name, pwd);
		return u;
	}
}


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

	<!-- 开启sprigMVC注解 -->
	<!-- <context:annotation-config></context:annotation-config> -->
	<mvc:annotation-driven />
	<!-- 设置使用注解的类所在的jar包 -->
	<context:component-scan base-package="com.maven.controller"></context:component-scan>
	<!-- 完成请求和注解POJO的映射 -->
	<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />
	<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
		<property name="messageConverters">
			<list>
				<ref bean="mappingJacksonHttpMessageConverter" />
			</list>
		</property>
	</bean>
	<bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
		<property name="supportedMediaTypes">
			<list>
				<value>text/html;charset=UTF-8</value>
			</list>
		</property>
	</bean>
	<!--配置JSP 显示ViewResolver -->
	<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
		<property name="prefix" value="/WEB-INF/jsp/" />
		<property name="suffix" value=".jsp" />
	</bean>
</beans>

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
	<display-name>Archetype Created Web Application</display-name>
	
	<!-- <context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>classpath:applicationContext.xml</param-value>
	</context-param>
	
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener> -->
	
	<servlet>
		<servlet-name>springMVC</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>classpath:springMVC-*.xml</param-value>
		</init-param>
	</servlet>
	<servlet-mapping>
		<servlet-name>springMVC</servlet-name>
		<url-pattern>/</url-pattern>
	</servlet-mapping>
</web-app>

<html>
<body>
<h2>Hello World!</h2>
<form action="login/login.do" method="post">
	name:<input type="text" name="name"/>
	pwd:<input type="text" name="pwd"/>
	<button type="submit">提交</button>
</form>
</body>
</html>
之前写过的一个例子,对照着看下
墨皓 2017-02-20
  • 打赏
  • 举报
回复
引用 9 楼 qnmdcsdn 的回复:
前台指定了用post访问,后边也配上
还是一样 [org.springframework.web.servlet.PageNotFound] - No mapping found for HTTP request with URI [/ssm-mode/user/login.do] in DispatcherServlet with name 'springMVC' HTTP Status 404 - type Status report message description The requested resource is not available. Apache Tomcat/7.0.47
  • 打赏
  • 举报
回复
前台指定了用post访问,后边也配上
lzstc 2017-02-20
  • 打赏
  • 举报
回复
引用 4 楼 qnmdcsdn 的回复:
照你贴的看访问的应该是/user/login.do,标题贴的是/manage/login.do是贴错了还是访问的时候本身就写错了
好像是这样的
  • 打赏
  • 举报
回复
引用 5 楼 u012952738 的回复:
[quote=引用 4 楼 qnmdcsdn 的回复:] 照你贴的看访问的应该是/user/login.do,标题贴的是/manage/login.do是贴错了还是访问的时候本身就写错了
路径改对了还是无法获取到[/quote] 错误贴全一点
墨皓 2017-02-20
  • 打赏
  • 举报
回复
前台代码

 <form action="${base}/user/login.do" class="layui-form" method="post">
                <input name="__RequestVerificationToken" type="hidden" value="">
                <div class="layui-form-item">
                    <label class="login-icon"> <i class="layui-icon"></i>
                    </label> <input type="text" name="userName" lay-verify="userName" autocomplete="off"
                        placeholder="这里输入登录名" class="layui-input">
                </div>
                <div class="layui-form-item">
                    <label class="login-icon"> <i class="layui-icon"></i>
                    </label> <input type="password" name="password" lay-verify="password" autocomplete="off"
                        placeholder="这里输入密码" class="layui-input">
                </div>
                <div class="layui-form-item">
                    <div class="pull-left login-remember">
                        <label>记住帐号?</label> <input type="checkbox" name="rememberMe" value="true"
                            lay-skin="switch" title="记住帐号">
                        <div class="layui-unselect layui-form-switch">
                            <i></i>
                        </div>
                    </div>
                    <div class="pull-right">
                        <button class="layui-btn layui-btn-primary" lay-submit="" lay-filter="login">
                            <i class="layui-icon"></i> 登录
                        </button>
                    </div>
                    <div class="clear"></div>
                </div>
            </form>
墨皓 2017-02-20
  • 打赏
  • 举报
回复
引用 4 楼 qnmdcsdn 的回复:
照你贴的看访问的应该是/user/login.do,标题贴的是/manage/login.do是贴错了还是访问的时候本身就写错了
路径改对了还是无法获取到
  • 打赏
  • 举报
回复
照你贴的看访问的应该是/user/login.do,标题贴的是/manage/login.do是贴错了还是访问的时候本身就写错了
墨皓 2017-02-20
  • 打赏
  • 举报
回复
引用 1 楼 qnmdcsdn 的回复:
<!-- 自动扫描该包,使SpringMVC认为包下用了@controller注解的类是控制器 --> <context:component-scan base-package="com.yh.controller" /> 另外把你前端访问及controller的内容贴一下
改成com.yh.controller还是一样出错
墨皓 2017-02-20
  • 打赏
  • 举报
回复
controller
package com.yh.controller;

import javax.annotation.Resource;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

import com.yh.entity.User;
import com.yh.service.UserService;

@Controller
@RequestMapping("/user")
public class LoginController {

	@Resource
	private UserService userService;

	@RequestMapping("/login.do")
	public String login(String username, String password, Model model) {
		User user=userService.getUserByName(username);
		if(user!=null&&password.equals(user.getPassword())){
			return "redirect:/page/index.jsp";
		}
		return "redirect:/page/login.jsp";
	}
}
  • 打赏
  • 举报
回复
<!-- 自动扫描该包,使SpringMVC认为包下用了@controller注解的类是控制器 --> <context:component-scan base-package="com.yh.controller" /> 另外把你前端访问及controller的内容贴一下

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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