spring整合mybatis错误:HTTP Status 404 - xxx-xxx....

  运行环境:jdk1.7.0_17 + tomcat 7 + spring 3.2.0 +mybatis 3.2.7+ eclipse,访问路径:http://localhost:8085/Springmvc_Mybits_store/queryItems.do

  错误: 导致404 错误,一般是转发路径写错误,还有是请求时候书写错误找不到Handler仔细检查路径是否写对,今天要讲的错误,也可以说是比较粗心的犯的错,但对于新手没法找出来,在路径对的情况下,我们访问404错误,并且地址打印出来也是对的。

  错误原因 :查看controller导入的包:原因就在這两个包,由于现在还不能充分解释,当时写的时候是自动注入的包,注入是import org.springframework.web.portlet.ModelAndView;这是错误根本原因,找了资料大体解释下这两个的区别,在这两个包里面的

  ModelAndView 里面内容都是一样的,这两个是为适用不同的环境。

    org.springframework.web.portlet.ModelAndView:是一个支持处理方法的返回类型:意味着spring有一个HandlerMethodReturnValueHandler实现(ModelAndViewMethodReturnValueHandler),它将接收类型的返回值ModelAndView并处理它

    org.springframework.web.servlet.ModelAndView:默认情况下没有注册的实现

  解决办法:删除原有的org.springframework.web.portlet.ModelAndView 导入org.springframework.web.servlet.ModelAndView

  错误代码:控制台无报错,页面404错误;

      

 发送请求的日志文件:

 1 DispatcherServlet with name 'springmvc' processing GET request for [/Springmvc_Mybits_store/queryItems.do]
 2 Looking up handler method for path /queryItems.do
 3 Returning handler method [public org.springframework.web.portlet.ModelAndView com.kjczwl.ssm.controller.ItemsController.queryItems() throws java.lang.Exception]
 4 Returning cached instance of singleton bean 'itemsController'
 5 Last-Modified value for [/Springmvc_Mybits_store/queryItems.do] is: -1
 6 Creating a new SqlSession
 7 Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7adc9dc9]
 8 Fetching JDBC Connection from DataSource
 9 Registering transaction synchronization for JDBC Connection
10 JDBC Connection [jdbc:mysql://localhost:3306/store, UserName=root@localhost, MySQL Connector Java] will be managed by Spring
11 ==>  Preparing: SELECT * from items 
12 ==> Parameters: 
13 <==      Total: 4
14 Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7adc9dc9]
15 Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7adc9dc9]
16 Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7adc9dc9]
17 Returning JDBC Connection to DataSource
18 44444444444444444444444444444
19 Rendering view [org.springframework.web.servlet.view.JstlView: name 'queryItems'; URL [/WEB-INF/pages/items/queryItems.jsp]] in DispatcherServlet with name 'springmvc'
20 Added model object 'modelAndView' of type [org.springframework.web.portlet.ModelAndView] to request in view with name 'queryItems'
21 Added model object 'org.springframework.validation.BindingResult.modelAndView' of type [org.springframework.validation.BeanPropertyBindingResult] to request in view with name 'queryItems'
22 Forwarding to resource [/WEB-INF/pages/items/queryItems.jsp] in InternalResourceView 'queryItems'
23 Successfully completed request

 

  相关代码:

     工程结构:

      

 controller 代码:

 1  1 package com.kjczwl.ssm.controller;
 2  2 
 3  3 import java.util.List;
 4  4 
 5  5 import org.springframework.beans.factory.annotation.Autowired;
 6  6 import org.springframework.stereotype.Controller;
 7  7 import org.springframework.web.bind.annotation.RequestMapping;
 8  8 import org.springframework.web.portlet.ModelAndView;
 9  9 import com.kjczwl.ssm.po.ItemsCustom;
10 10 import com.kjczwl.ssm.service.ItemsService;
11 11 
12 12 /**
13 13  *<p>package:  com.kjczwl.ssm.controller</p>
14 14  *<p>Description:商品的controller(Handler) </p> 
15 15  *<p>Company: Springmvc_Mybits_store</p>
16 16  *@author:         唐烈
17 17  * @date            2017下午5:30:58
18 18  */
19 19 @Controller// 注解模式开发Controller
20 20 public class ItemsController {
21 21     // 注入 从service 中取得数据
22 22     @Autowired
23 23     ItemsService itemsService;
24 24     
25 25     //注解扫描, 后面映射地址  可通过queryItems.action 访问
26 26     @RequestMapping("/queryItems.do")
27 27     public ModelAndView queryItems()throws Exception{
28 28         //得到数据
29 29         List<ItemsCustom> itemList = itemsService.findItemsList(null);
30 30         // 构造ModelAndView 
31 31         ModelAndView modelAndView = new ModelAndView("itemsList");
32 32         // 添加到内存区 外面直接“${} 条件表达式获取”
33 33         modelAndView.addObject("itemList",itemList);
34 34         //转发的路径 modelAndView.setViewName("itemsList");
35 35         return modelAndView;
36 36     }
37 37 }

 

springmvc 配置:

 

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans
 3        xmlns="http://www.springframework.org/schema/beans"
 4        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 5        xmlns:p="http://www.springframework.org/schema/p"
 6        xmlns:context="http://www.springframework.org/schema/context"
 7        xmlns:mvc="http://www.springframework.org/schema/mvc"
 8         xmlns:tx="http://www.springframework.org/schema/tx"
 9         xmlns:aop="http://www.springframework.org/schema/aop"
10           xsi:schemaLocation="http://www.springframework.org/schema/beans 
11                                       http://www.springframework.org/schema/beans/spring-beans.xsd
12                                       http://www.springframework.org/schema/context
13                                     http://www.springframework.org/schema/context/spring-context-3.2.xsd
14                                     http://www.springframework.org/schema/mvc
15                                     http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
16                                     http://www.springframework.org/schema/tx
17                                     http://www.springframework.org/schema/tx/spring-tx-3.2.xsd
18                                     http://www.springframework.org/schema/aop
19                                     http://www.springframework.org/schema/aop/spring-aop-3.2.xsd">
20 <!-- =================================================================================== -->    
21     <!-- 自动扫描注解 -->
22     <context:component-scan base-package="com.kjczwl.ssm.controller">
23         <!-- 
24             只扫描你规定的:<context:include-filter type="annotation" expression=""/>
25             不扫描你规定的:<context:exclude-filter type="annotation" expression=""/>    
26          -->
27     </context:component-scan>
28 <!-- =================================================================================== -->
29     <!-- 注解驱动 
30         代替:
31                      处理器适配器
32             <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>
33                     处理器映射器 
34             <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>
35     -->
36     <mvc:annotation-driven/>
37 <!-- =================================================================================== -->
38     <!-- 视图解析器
39         前缀:prefix
40         后缀:suffix
41      -->
42      <mvc:default-servlet-handler/>
43     <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
44         <property name="prefix" value="/WEB-INF/pages/items/"/>
45         <property name="suffix" value=".jsp"/>
46     </bean>
47 </beans>
posted @ 2017-04-07 17:26  人生在与不断学习。  阅读(6596)  评论(0编辑  收藏  举报