springMVC框架基礎篇
阿新 • • 發佈:2018-11-20
springMVC框架基礎篇
什麼是springmvc
springmvc出自於spring組織下的一個開源的免費的控制層框架,和Struts2都屬於表現層的框架
springmvc的作用
a: 接受前端傳送的引數
b: 將處理好的資料放入Request域中,供jsp使用
c: 控制返回的檢視頁面
SpringMVC處理流程
環境搭建
導包
配置檔案
1: 在web.xml裡面配置前端控制器(全域性排程中心類)
<!-- 前端控制器 --> <!-- DispatcherServlet: springmvc的核心控制器 --> <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:springmvc.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springmvc</servlet-name> <!-- *.action: 攔截所有以.action結尾的請求 /*: springmvc不支援 /: 攔截所有請求,放行.jsp請求 --> <url-pattern>*.action</url-pattern> </servlet-mapping>
2: springmvc配置檔案
<?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:dubbo="http://code.alibabatech.com/schema/dubbo" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd"> <context:component-scan base-package="com.heima.action"/> <!-- springmvc的三大元件之一:檢視解析器 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/> <!-- prefix: 字首 suffix: 字尾 --> <property name="prefix" value="/WEB-INF/jsps/"/> <property name="suffix" value=".jsp"/> </bean> <!-- springmvc預設找的是spring3.0的對映器和介面卡 <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"></bean> <bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"></bean> --> <!-- 相當於配置了最新版本註解方式的對映器和介面卡 --> <mvc:annotation-driven/> </beans>
3: 日誌配置檔案
解決提交亂碼問題
使用springMVC提供的filter
<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>
轉換器
一般用於日期和字串轉換
自定義轉換器
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.springframework.core.convert.converter.Converter;
public class MyCoustomerConverter implements Converter<String, Date> {
@Override
public Date convert(String str) {
try {
Date date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(str);
return date;
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
}
修改springMVC.xml
<bean id="myConversionService"
class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
<property name="converters">
<set>
<bean class="com.xiaob.converter.MyCoustomerConverter"/>
</set>
</property>
</bean>
<mvc:annotation-driven conversion-servic="myConversionService"/>