因为最近刚接触框架,找了springMVC上手,在这里将springMVC的一些简单配置总结一下
首先要在web.xml中配置dispatchservlet
这是配置编码过滤器,它需要配置在最前面,原因我也不知道
<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>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
然后配置HiddenHttpMethodFilter,这个是用来对页面对put和delete请求进行处理的,因为表单提交只认识post和get
<filter>
<filter-name>HiddenHttpMethodFilter</filter-name>
<filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>HiddenHttpMethodFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
在然后就是对spring.xml的配置,用/是因为它只对请求进行处理,而对静态资源的访问不需要管理,这里默认是在WEB-INF里进行查找名字叫servlet-name加上-servlet.xml的这个配置文件,找不到则报错
<servlet>
<servlet-name>springMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
<!-- Map all requests to the DispatcherServlet for handling -->
<servlet-mapping>
<servlet-name>springMVC</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
同时可以在servlet标签中指定配置文件的所在路径和名称
<servlet>
<servlet-name>springDispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<!-- param-name是固定值,不能进行更改,否则报错 -->
<param-name>contextConfigLocation</param-name>
<!-- classpath代表的是在项目源代码目录中就是和src同一级目录中查找名字
叫springMVC.xml
-->
<param-value>classpath:springMVC.xml</param-value>
</init-param>
<!-- 叫在程序启动时加载 -->
<load-on-startup>1</load-on-startup>
</servlet>
现在dispatchservlet在web.xml中是配置好了,我们接下来配置springMVC.xml在源目录中新建一个conf的目录在里面新建一个Spring Bean Configuration File名字叫做springMVC.xml,提醒在web开发的eclipse中是没有这个选项的,需要在eclipse中下载spring开发的插件,这里就不多说了
然后配置扫描组件和试图解析器,这里需要加入命名空间
<?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"
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-4.0.xsd">
<!-- 扫描组件,在package中将加上@Controller注解的类作为spring MVC的控制层 -->
<context:component-scan base-package="com.xiong.mvc"></context:component-scan>
<!-- 配置试图解析器 -->
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/view/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
</beans>
然后还有springMVC驱动和静态资源处理器
<mvc:default-servlet-handler/>
<mvc:annotation-driven />
然后就是拦截器的搭建
<mvc:interceptors>
<!-- 默认拦截所有请求 -->
<bean class="com.atguigu.interceptor.FirstInterceptor"></bean>
<bean class="com.atguigu.interceptor.SecondInterceptor"></bean>
<!-- 此方式要求拦截器类上必须加注解@Component -->
<!-- <ref bean="firstInterceptor"/> -->
<!-- 设置自定义拦截方式,注意这里一定要在<mvc:interceptors>标签里面写 -->
<!-- <mvc:interceptor>
<bean></bean>
<mvc:mapping path=""/>
<mvc:exclude-mapping path=""/>
</mvc:interceptor> -->
</mvc:interceptors>
到现在一个简单的SprinMVC环境搭建完成