配置Spring MVC 所遇到一些问题的总结
2013-07-12 16:59
726 查看
首先讲一个错误吧
严重: Servlet /mvcspring threw load() exception
java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
at org.springframework.web.servlet.DispatcherServlet.<clinit>(DispatcherServlet.java:206)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at java.lang.Class.newInstance0(Class.java:355)
at java.lang.Class.newInstance(Class.java:308)
。。。。。。。
这个错误其实很简单,就是因为缺少了commons-logging.jar这个包,把它加上就好了。
首先是要配置好web.xml,这一个的配置相信大家都很熟悉了。很多时候,我们做开发是要把配置文件单独的放在一个文件里面,这时我们就要在
在配置这个路径的时候有人也会出现一些问题,就是在<param-value>/WEB-INF/classes/springconfig/spring-mvc.xml</param-value>这里面的写了spring-mvc.xml这个文件,但是在本地磁盘打开却不能找到spring-mvc.xml,这是因为在创建文件夹的时候选错了,要选择
source
folder才是可以的。下面看一下web.xml这个文件吧:
然后运行就可以看到我们的项目跑起来了。
最后把所需的包跟整个项目的结构贴个图吧:
严重: Servlet /mvcspring threw load() exception
java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
at org.springframework.web.servlet.DispatcherServlet.<clinit>(DispatcherServlet.java:206)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at java.lang.Class.newInstance0(Class.java:355)
at java.lang.Class.newInstance(Class.java:308)
。。。。。。。
这个错误其实很简单,就是因为缺少了commons-logging.jar这个包,把它加上就好了。
首先是要配置好web.xml,这一个的配置相信大家都很熟悉了。很多时候,我们做开发是要把配置文件单独的放在一个文件里面,这时我们就要在
<init-param> <param-name>contextConfigLocation</param-name> <!-- 这个名字是固定的,不能改 --> <param-value>classpath:spring-mvc.xml</param-value> <!-- 需要指定的Spring MVC的配置文件所在位置 --> <!-- <param-value>的配置路径方法有两种,这里写的是其中一种。另一种的配置方法为 <param-value>/WEB-INF/classes/springconfig/spring-mvc.xml</param-value> 这里的springconfig是我创建的一个源文件夹,根本你的 SpringMVC的所在目录来写 --> </init-param>这里配置好我们的配置文件所在位置了。
在配置这个路径的时候有人也会出现一些问题,就是在<param-value>/WEB-INF/classes/springconfig/spring-mvc.xml</param-value>这里面的写了spring-mvc.xml这个文件,但是在本地磁盘打开却不能找到spring-mvc.xml,这是因为在创建文件夹的时候选错了,要选择
source
folder才是可以的。下面看一下web.xml这个文件吧:
<?xml version="1.0" encoding="UTF-8"?>配置好了web.xml之后 ,就要配置我们的springmvc.xml文件了。我这里只是一个简单的配置,所以还是直接上代码吧:
<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_2_5.xsd" version="2.5">
<!-- <display-name>zskframework</display-name> -->
<!-- SpringMVC的前端控制器 -->
<!-- 当DispatcherServlet载入后,它将从一个XML文件中载入Spring的应用上下文,该XML文件的名字取决于<servlet-name> -->
<!-- 这里DispatcherServlet将试图从一个叫做spring-mvc.xml的文件中载入应用上下文,其默认位于WEB-INF目录下 -->
<!-- 所以ContextLoaderListener参数值也可写成<param-value>classpath:applicationContext-*.xml</param-value> -->
<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<!-- 使用ContextLoaderListener配置时,需要告诉它Spring配置文件的位置 -->
<!-- 如果没有指定,上下文载入器会在/WEB-INF/applicationContext.xml中找Spring配置文件 -->
<!-- 我们可以通过在Servlet上下文中设置contextConfigLocation参数,来为上下文载入器指定一个或多个Spring配置文件 -->
<!-- 注意:contextConfigLocation参数是一个用逗号分隔的路径列表,其路径是相对于Web系统的根路径的 -->
<!-- 指定SpringMVC的配置文件的所在的位置,如果不指定,系统会默认从WEB-INF的目录下寻找[servletname]-servlet.xml文件
(如本项目没有指定了Spring-mvc.xml文件 的话,系统会默认的从WEB-INF目录下寻找名为spring-servlet.xml的文件)为 默认的SpringMVC的配置文件 -->
<init-param> <param-name>contextConfigLocation</param-name> <!-- 这个名字是固定的,不能改 --> <param-value>classpath:spring-mvc.xml</param-value> <!-- 需要指定的Spring MVC的配置文件所在位置 --> <!-- <param-value>的配置路径方法有两种,这里写的是其中一种。另一种的配置方法为 <param-value>/WEB-INF/classes/springconfig/spring-mvc.xml</param-value> 这里的springconfig是我创建的一个源文件夹,根本你的 SpringMVC的所在目录来写 --> </init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>*.zsk</url-pattern> <!-- 配置过滤器,拦截以 .zsk 结尾的请求 -->
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
<?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:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context" 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-3.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-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/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"> <!-- 扫描整个项目中标注了@Controller的类 --> <context:component-scan base-package="zskframework"/> <context:annotation-config/> <mvc:annotation-driven/> <!-- jsp解析器 --> <!-- 【配置视图解析器】 --> <!-- InternalResourceViewResolver会在ModelAndView返回的视图名前加上prefix指定的前缀,再在最后加上suffix指定的后缀 --> <!-- 由于UserController返回的ModelAndView中的视图名是userlist,故该视图解析器将在/WEB-INF/jsp/userlist.jsp处查找视图 --> <bean id="resolvers1" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" /> <property name="prefix" value="/" /> <property name="suffix" value=".jsp"/> </bean> </beans>两个重要的配置文件都已经配置好了,下面就要开始写我们的Controller类了,这个里面有些要注意的地方我都直接在代码上标注了:
package zskframework.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.ModelAndView; /** * @author ZSK * 如果标注了@RequestMapping("/controller")这个注解的话,在地址请求的时候就要写上 * 这个controller不然的话是会出错的因为匹配了这么样的一个路径就必须加上它路径才完整 */ @Controller ///标注该类为一个Controller @RequestMapping("/controller") /// 注解 public class TestController { /** * @return */ @RequestMapping("/hello.zsk") public ModelAndView hello() { ModelAndView mv =new ModelAndView(); mv.addObject("message", "是我ZSK!哈哈哈~"); mv.setViewName("viewjsp/hello"); return mv; } }
然后运行就可以看到我们的项目跑起来了。
最后把所需的包跟整个项目的结构贴个图吧:
相关文章推荐
- CoreSeek 的 安装 配置 及 遇到的一些列问题总结
- Eclipse配置不同JDK版本遇到的一些问题与总结
- CocoaPods 配置环境遇到的 一些问题总结
- ArcEngine在VS环境下开发遇到的一些配置问题
- 开发过程中 遇到的一些小问题 总结一下
- NestedScrollView使用中遇到的一些问题总结
- 关于Think3 配置邮箱发送遇到的问题总结
- 最近遇到的一些小问题总结
- Asp.net1.1升级到2.0遇到的一些问题总结
- boost::python 遇到的一些问题总结
- 学习ejb并配置一个简单的helloEjb是遇到问题后总结的经验。
- Cocos2d-x项目总结中的一些遇到的问题
- C++ 写leetcode遇到的一些问题总结Restore IP Addresses
- 在使用Struts的过程中也遇到了一些问题,现在总结一下
- 在ubuntu中配置java环境变量遇到的一些问题
- 近期学习javascript和jquery遇到一些问题的技巧知识总结
- CentOS7 配置nginx 遇到的一些问题
- 首次关于IIS配置遇到的一些问题
- swift4更新中所遇到的一些问题总结
- ubuntu配置android开发环境和编译源码遇到的一些问题