SpringMVC使用中遇到的问题总结
使用的IDE工具是MyEclipse2014, spring版本为3.1.1
在使用Spring MVC时需要修改web.xml配置文件,web.xml默认放在WEB-INF目录下。
1.web.xml约束文档
用MyEclipse生成的约束文档有时不对,可以使用下面的模版
<?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"> </web-app>
2.配置DispatcherServlet
Spring MVC工作时其核心的部分是DispatcherServlet,这个servlet就是个门户,所有的请求和相应都需要经过它,我们需要在web.xml来指明它。
<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:spring-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
配置它就像配置一个我们自己写的Servlet一样,这里不做说明。主要是这个Servlet在加载时需要读取关于Sring的配置信息文档(如:Spring-serlvet.xml)。这个文档的位置放在不对就会导致该Servlet加载失败。
2.1 使用默认配置路径
使用默认配置路径时,Spring-servlet.xml应该放在WEB-INF/下,这个而且这个文件的文件名不能随便命名。命名方式为
<servlet-name>name</servlet-name>中的name连接 -servlet.xml, 如 <servlet-name>SpringTest</servlet-name>时那么配置文件名为SpringTest-servlet.xml
2.2 指定路径名
上面的配置文件中就是使用的是指定路径名方式。
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-servlet.xml</param-value>
</init-param>
其中的classpath为/WEB-INF/classes目录,所以我们应该把配置文件放在这个目录下。也可以直接放在工程的src目录下,Myeclipse会自动将其放在classes目录中。当然我们也可以指定放在别的目录下,比如我们在WEB-INF下新建config目录,将配置文件放在其中,那我们也应该设置相应的参数。
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/config/spring-servlet.xml</param-value>
</init-param>
2.3 特殊情况
如果我们的web.xml只是用了一个servlet的话可以用上面的方式来指定spring-servlet.xml,如果定义了多个servlet的话,该文件只能通过<context-param></context-param>来配置,因为多个servlet可以共享context中的内容。配置方式如下
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/transport-servlet.xml</param-value>
</context-param>
3. Spring MVC框架的配置
3.1约束文档的引入
我们继续沿用sping-servlet.xml配置文档,下面的也一样。MyEclipse生成的配置文档引入的约束并不全,我们可以使用下面的约束。
<?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:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd
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">
</beans>
4.SpringMVC + Maven
1.MyEclipse中配置maven
这里不使用MyEclipse自带的maven,通过官网下载进行配置。配置教程 链接地址1 该教程只需看前面配置maven这一部分。
2. 建立工程
SpringMVC使用中遇到的问题总结的更多相关文章
- 接口文档神器Swagger(下篇)
本文来自网易云社区 作者:李哲 二.Swagger-springmvc原理解析 上面介绍了如何将springmvc和springboot与swagger结合,通过简单配置生成接口文档,以及介绍了swa ...
- SpringMVC中遇到的Http400 Bad Request 总结
在搭建SpringMVC环境,在使用中遇到了多次Bad Request的连接,下面来总结下. 1.参数类型不对,如后台实体类的属性为int,但传来的参数为字符串 2.因为我的粗心,本来是要通过Ajax ...
- SSH框架使用中存在的诡异异常
背景 相信大多数人目前都在使用Spring + Struts2/SpringMVC + Hibernate来构建项目的整体架构,但是在使用中经藏会遇到一些诡异的问题,不知道如果解决,今天我遇到了一个非 ...
- SpringMVC中使用Json传数据
在web项目中使用Json进行数据的传输是非常常见且有用的,在这里介绍下在SpringMVC中使用Json传数据的一种方法,在我的使用中,主要包括下面四个部分(我个人喜好使用maven这类型工具进行项 ...
- Apache Shiro权限框架在SpringMVC+Hibernate中的应用
在做网站开发中,用户权限必须要考虑的,权限这个东西很重要,它规定了用户在使用中能进行哪 些操作,和不能进行哪些操作:我们完全可以使用过滤器来进行权限的操作,但是有了权限框架之后,使用起来会非常的方便, ...
- SpringMVC简单入门
SpringMVC简单入门 与大家分享一下最近对SpringMVC的学习,希望本文章能对大家有所帮助. 首先什么是SpringMVC? Spring 为展现层提供的基于MVC设计理念的优秀的Web框架 ...
- springMVC web项目 对访问数据库的用户名密码进行加密解密
在使用springMVC开发web项目中,数据库的用户名,密码一般都是配置在.properties文件中 然后在通过.xml配置文件引入.properties的变量,例如 在config.proper ...
- SpringMVC源码分析和一些常用最佳实践
前言 本文分两部分,第一部分剖析SpringMVC的源代码,看看一个请求响应是如何处理,第二部分主要介绍一些使用中的最佳实践,这些best practices有些比较common,有些比较tricky ...
- SpringMvc redirect
SpringMVC redirect 核心 首先网上百度到的资源基本已经够用, 留作记录. SpringMVC-redirect重定向跳转传值 虽然这哥们也是转的, 但又没有留源地址. 因此 ... ...
随机推荐
- std::list
1遍历 std::list<TYPE*>::const_iterator iter_list; for (iter_list = my_list.begin(); iter_list != ...
- Dos
一.简介 https://zh.wikipedia.org/wiki/DOS 二.系统下载 http://www.cn-dos.net/newdos/doswarea.htm 三.实用命令 1)查看系 ...
- hdu 3635 Dragon Balls(并查集)
Dragon Balls Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tota ...
- Oracle PLSQL
Oracle :show explain plan select * from table(dbms_xplan.display); EXPLAIN PLAN FOR statements In fa ...
- Programming ActionScript 3.0 for Flash
http://help.adobe.com/en_US/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7ec ...
- 教你一招 - Misc类型插件的妙用(附带插件源码)
熟悉nopcommerce插件的朋友应该知道里面有一种Misc类型的插件,比如Nop.Plugin.Misc.WebServices和 Nop.Plugin.Misc.FacebookShop,继承自 ...
- hadoop中NameNode、DataNode和Client三者之间协作关系及通信方式介绍
<ignore_js_op> 1)NameNode.DataNode和Client NameNode可以看作是分布式文件系统中的管理者,主要负责管理文件系统的命名空间.集群 ...
- 快速熟悉Zbrush中的四种裁切笔刷
ZBrush 4.0R4完善了裁切的功能.捷就可以把模型想要隐藏的地方用选择裁切的方法隐藏掉,其中ZBrush在®4.0R4软件中提供了4中裁切笔刷,分别为ClipCircle笔刷.ClipCircl ...
- 安装docker1.10
1.安装 关闭 /etc/selinux/config # This file controls the state of SELinux on the system. # SELINUX= can ...
- UESTC 1014 Shot
这题刚开始没想通,结果发现要解方程,代码如下: #include<iostream> #include<cstdio> #include<cmath> #inclu ...