1.这几天配置springmvc 使用注解,并且自动扫描注解,当我单个配置,不用自动扫描,出现下面错误,找了很多人跟我看,配置也没问题,但是就是显示不出东西,所说的类也去看了,没有问题

這是我的模拟数据类:

 package com.itmis.ssm.controller;

 import java.util.ArrayList;
import java.util.List; import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView; import com.itmis.ssm.po.Items; /**
* 注解开发的Handler
*
* @author 唐烈
*
*/
// 使用Controller 注解,标识他是个控制器
@Controller
public class ItemsController3 {
// 商品查询列表
// @RequestMapping实现对queryItems方法和url进行映射,一个方法对应一个url
// 一般建议将url和方法名一样(便于维护)
@RequestMapping("/queryItems.action")
public ModelAndView queryItems() {
List<Items> itemsList = new ArrayList<Items>();
Items items1 = new Items();
items1.setName("唐小璇");
items1.setCreatetime("19960226");
items1.setPrice("黄金万两");
items1.setId("5");
items1.setDetail("都比人士"); Items items2 = new Items();
items2.setName("麻子哥");
items2.setCreatetime("19960226");
items2.setPrice("黄金万两");
items2.setId("1");
items2.setDetail("帅气人士"); itemsList.add(items1);
itemsList.add(items2); // 新建一个ModelAndView
ModelAndView modelAndView = new ModelAndView();
// 设置视图取得的数据
modelAndView.addObject("itemsList", itemsList); // 设置转发视图的路径
modelAndView.setViewName("/WEB-INF/jsp/items/itemsList.jsp"); return modelAndView;
}
/**
* 使用注解模式 這里就可以创建其它方法 比如,商品添加,商品订单,商品删除等等
*/
}

我的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" 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">
<display-name>SpringMVC001</display-name>
<!-- Spring 服务层的配置文件 <context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc.xml</param-value>
</context-param> -->
<!-- 配置前端控制器 (中央处理器)start-->
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- contextConfigLocation配置springmvc加载的配置文件(映射器,解析器,适配器等待那个)如果不配置contextConfigLocation他默认加载的是/WEB-IFN/servlet名称-servlet.xml(springmvc-servlet.xml) -->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc.xml</param-value>
</init-param>
</servlet>
<!-- Spring 监听器
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>-->
<servlet-mapping>
<!--
第一种:*.action,访问.action结尾DispatcherServlet进行解析
第二种:/,所有访问的地址都有DispatcherServlet进行解析,对于静态的文件的解析需要不让DispatcherServlet进行解析,使用此方法可以实现RESTful风格的url
第三种:/*,這中配置不对,使用這种配置,最终要发送到jsp页面时,仍然会由DispatcherServlet解析jsp地址,不能根据jsp页面找到Handler,会报错
-->
<servlet-name>springmvc</servlet-name>
<url-pattern>*.action</url-pattern>
</servlet-mapping>
<!-- 配置前端控制器 (中央处理器)end-->
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>

springmvc.xml配置

 <?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"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.2.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd>
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.2.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.2.xsd">
<!-- 配置Handler -->
<bean id="itemController1" name="/queryItems_1.action" class="com.itmis.ssm.controller.ItemsController1"></bean> <!-- 配置另外一个Handler -->
<bean id="itemController2" class="com.itmis.ssm.controller.ItemsController2"/> <!-- 对注解的Handler可以进行单个配置
实际开发中建议使用组件扫描,不建议单个配置
-->
<!-- <bean class="com.itmis.ssm.controller.ItemsController3"/> -->
<!-- 使用组件扫瞄
可以扫描controller,service,等等组件
這里扫描时controller,指定从他controller的包 use-default-filters默认为true 表示扫描所有注解的@Component的类,并注册成bean.也就是@Component的子注解@Service,@Reposity等
<context:include-filter type="annotation" expression=""/> 表示扫描设置的某些注解
<context:exclude-filter type="annotation" expression=""/> 表示不扫描设置的某些注解
-->
<context:component-scan base-package="com.itmis.ssm.controller"> </context:component-scan>
<!-- 启动Springmvc 的注解 完成对请求对pojo的映射    <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"/>-->
<!--处理器映射器
将bean的name作为url进行查找,需要配置Handler时指定你的beanname(指的url)
-->
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping" />
<!-- 简单url的映射 -->
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings"> <!-- 不知道为什么不能为mapping而必须是mappings或者其他,可能是关键字等。 -->
<props>
<prop key="/queryItems1.action">itemController1</prop>
<prop key="/queryItems2.action">itemController1</prop>
<prop key="/queryItems3.action">itemController2</prop>
</props>
</property>
</bean>
<!--处理器适配器
所有的处理适配器都实现了HandlerAdapter接口 接口:org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter;
-->
<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>
<!-- 另一个非注解的适配器 -->
<bean class = "org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter"/> <!-- 注解的映射器
配置带注解的映射器
-->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>
<!-- 注解的适配器
配置带注解的适配器
-->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>
<!-- 使用mvc:annotation-driven代替上面的注解映射器和适配器配置,而且mvc:annotation-driven默认加载了很多参数绑定方法,
比如json转换解析器就默认加载了,如果使用mvc:annotation-driven不用配置上面的RequestMappingHandlerMapping和RequestMappingHandlerAdapter
而我们实际开发中我们使用注解驱动mvc:annotation-driven
<mvc:annotation-driven/></mvc:annotation-driven>
-->
<!--视图解析器
解析jsp视图,默认使用jstl标签,classpath下的有jstl的包
-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"/>
</beans>

最终达到的效果:

解决办法:卡了两天也是在机缘巧合之下才得出的小结论(是要在你配置确定没错的前提下這个可能对你有少许帮助),之前怎么弄都要报错,后面我同步svn时候出错,然后东西包,這些都红叉,想着不想去改,直接把项目在本地干掉,同步了svn 的,把tomcat里面的关于工程的也全部干掉,全部干掉后我把svn 项目同步下来,然后重启项目,玛德跑起来了,没事了,既高兴,有愤怒,也希望能帮到遇到类似情况的朋友,程序有时候就是那么坑爹,如果还是不行呢? 别急,还是不行的话那就是你的jbk问题(jbk1.8会导致這个情况的发生),版本太高导致的,右击你的项目选择properties 把jdk跳低一点。工程可能会报错,不过没事你测试下是不是這样导致的,jdk版本1.8不兼容。

 2.如果你在运行這个的时候,查阅很多资料,应该还是是你的jdk不兼容所导致的问题,很多时候jdk用高了也不一定是好,最好是用相对于中度的,发布稳定点的,所以解决办法就是:去官网下载jgk1.8一下的安装在电脑上,這里说下,一个电脑可以安装两个jdk的路径可以是你上次那个,实际用的时候自己选择需要的即可,可不可可以安装更多這个你就自己去尝试了,(注意:tomcat jdl版本,和工程运行版本 一致问题)。

5.springmvc启动出现 “property” 元素开头类容无效

   <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" /> 

原因:没有引入beans,引入上面路径即可

4.问题:Cannot find class 字面意思很好理解,说的是你的类没有找到,這是因为我们在tomcat里面跑的时候在我们classes没有生成相应的.class文件,解决办法:将tomcat里面wtpwebapps里面的工程直接删掉,然后清楚下缓存,重启tomcat,如果重启tomcat不行重启你的Eclipse即可。

Spring《错误集合,总结更新》的更多相关文章

  1. springboot整合mybatis步骤以及错误集合

    1.首先在springboot项目中的pomx文件引入官方的依赖 <groupId>org.mybatis.spring.boot</groupId> <artifact ...

  2. DataStage 错误集(持续更新)

    DataStage 错误集(持续更新) DataStage序列文章 DataStage 一.安装 DataStage 二.InfoSphere Information Server进程的启动和停止 D ...

  3. Spring学习--集合属性

    Spring 中可以通过一组内置的 xml 标签(例如: <list> , <set> 或 <map>) 来配置集合属性. 配置java.util.Set 需要使用 ...

  4. git使用技巧集合(持续更新中)

    git使用技巧集合(持续更新中) 在团队协作中,git.svn等工具是非常重要的,在此只记录一些git使用过程中遇到的问题以及解决方法,并且会持续更新. 1.git commit之后,还没push,如 ...

  5. spring开发中常见错误集合,逐步添加

    1.关于jstl错误:原因,在jsp页面中使用了jstl标签库,但是却没有导入,可以将相应的jar包放在tomcat的lib目录下,一劳永逸 Java.lang.NoClassDefFoundErro ...

  6. IOS开发错误提示原因集合-----长期更新

    "[__NSCFConstantString size]: unrecognized selector sent to instance." =>将NSString类型的参数 ...

  7. python 报错错误集合——更新中

    1. #!/usr/bin/env python # -*- coding:utf-8 -*- 'one #报错 File "C:\Users\shuxiu\Desktop\test.py& ...

  8. 学习Python中出现的错误集合(不定时更新)jupyter平台

    出现的问题:1. 本图的错误,一个是line 7 init的两侧应该是是双下划线"__"导致所示错误 2. 本图的错误是 line 12 Student.student_tatal ...

  9. spring错误汇总

    在学习spring过程中遇见了种种不同的异常错误,这里做了一下总结.希望遇见类似错误的同学们共勉一下. 1. 错误一 Error creating bean with name 'helloServi ...

随机推荐

  1. Java 字符串截取问题

    编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串. 但是要保证汉字不被截半个,如"我ABC"4 public class StringSplit  ...

  2. Java标识符的命名规则

    Java语言中,为各种变量.方法和类等起的名字称为标识符Java标识符的命名规则:应以字母.下划线.美元符开头后跟字母.下划线.美元符或数字Java标识符大小写敏感,长度无限制 1.java中能用作标 ...

  3. [POI2007]洪水pow 并查集

    我们先得出一个结论:水泵要建在城市上.因为如果在非城市上建能把其他一些城市抽干,那么在城市上建也是一个效果(自己画图感性理解一下) 然后我们明白抽水的条件:周围的高度要>=自身的高度,这样会抽完 ...

  4. MySQL写压力性能监控与调优

    写压力调优:数据库的写.写压力性能监控.写压力调优参数 一.关于DB的写 1.数据库是一个写频繁的系统 2.后台写.写缓存 3.commit需要写入 4.写缓存失效或者写满-->写压力陡增--& ...

  5. 关于MySQL buffer pool的预读机制

    预读机制 两种预读算法 1.线性预读 2.随机预读 对预读的监控 一.预读机制 InnoDB在I/O的优化上有个比较重要的特性为预读,预读请求是一个i/o请求,它会异步地在缓冲池中预先回迁多个页面,预 ...

  6. 立即表达式的多种写法与注意点以及in操作符的作用

    立即表达式,在javascript中非常常见, 采用立即表达式可以形成一个局部作用域, 常配合闭包实现模块化编程等其他用途,接下来我们看看,在大多数的框架中,立即表达式都有哪些写法,以及需要注意的点, ...

  7. STL容器的reserve()函数和resize()函数解析

    以vector为例,我们都知道可以用reserve()和resize()函数来为容器预留空间或者调整它的大小. 不过从它俩的名字上可以看出区别: reserve():serve是"保留&qu ...

  8. 如何统计iOS产品不同渠道的下载量?

    一.前言 在开发过程中,Android可能会打出来很多的包,用于标识不同的商店下载量.原来觉得苹果只有一个商店:AppStore,如何做出不同来源的统计呢?本篇文章就是告诉大家如何做不同渠道来源统计. ...

  9. cycript

    cycript是大神saurik开发的一个非常强大的工具,可以让开发者在命令行下和应用交互,在运行时查看和修改应用.它确实可以帮助你破解一些应用,但我觉得这个工具主要还是用来学习其他应用的设计(主要是 ...

  10. c#获取数组中指定元素的索引

    //获取元素的索引 ArrayList arrList = new ArrayList(); ; i < array.Length; i++) { ) { arrList.Add(i); } } ...