日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring MVC 全注解配置 (十一)

發布時間:2025/4/16 javascript 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring MVC 全注解配置 (十一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

完整的項目案例:?springmvc.zip

目錄

?

實例

項目結構:

?

父級的pom配置:

<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>edu.nf</groupId><artifactId>springmvc</artifactId><version>1.0-SNAPSHOT</version><modules><module>ch01</module><module>ch02</module><module>ch03</module><module>ch04</module><module>ch05</module><module>ch06</module><module>ch07</module><module>ch08</module><module>ch09</module><module>ch10</module><module>ch11</module></modules><packaging>pom</packaging><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><java.version>1.8</java.version><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target><maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion><!-- spring版本 --><spring.version>5.1.1.RELEASE</spring.version><servlet.version>4.0.1</servlet.version></properties><dependencies><!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api --><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>${servlet.version}</version><scope>provided</scope></dependency><!-- Spring mvc依賴,會傳遞依賴context、core等核心包--><!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc --><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>${spring.version}</version></dependency></dependencies><!-- war插件 --><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-war-plugin</artifactId><version>2.2</version><configuration><warSourceDirectory>web</warSourceDirectory><!-- 指定web.xml路徑 --><!--<webXml>web\WEB-INF\web.xml</webXml>--><!-- 打包時忽略web.xml文件--><failOnMissingWebXml>false</failOnMissingWebXml></configuration></plugin></plugins></build></project> View Code

子級的pom(ch11)配置:

<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactId>springmvc</artifactId><groupId>edu.nf</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>ch11</artifactId><packaging>war</packaging><dependencies><!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind --><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.9.6</version></dependency><!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload --><dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>1.3.1</version></dependency><!-- https://mvnrepository.com/artifact/org.hibernate.validator/hibernate-validator --><dependency><groupId>org.hibernate.validator</groupId><artifactId>hibernate-validator</artifactId><version>6.0.13.Final</version></dependency></dependencies></project> View Code

取代web.xml的配置類

?

package edu.nf.ch11.config;import edu.nf.ch11.filter.EncodingFilter; import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;import javax.servlet.DispatcherType; import javax.servlet.ServletContext; import javax.servlet.ServletException; import java.util.EnumSet;/*** @author wangl* @date 2018/11/6* 取代web.xml*/ public class WebInit extends AbstractAnnotationConfigDispatcherServletInitializer {@Overrideprotected Class<?>[] getRootConfigClasses() {return null;}/*** 指定mvc的核心配置類* @return*/@Overrideprotected Class<?>[] getServletConfigClasses() {return new Class[]{WebConfig.class};}/*** 等同于將DispatcherServlet的url-pattern設置為"/"* @return*/@Overrideprotected String[] getServletMappings() {return new String[]{"/"};}/*** 也可以在onStartup中可以添加自定義的Servlet、Listener、Filter* 這里以添加過濾器為演示* addMappingForUrlPatterns方法參數說明:* 參數一: 請求過濾的類型,如果要使用默認的EnumSet.of(DispatcherType.REQUEST)(表示過濾所有的請求),則為null* 參數二: 如果給定的過濾器映射應在其他任何聲明的過濾器映射之后匹配,則為true;* 如果在獲得此FilterRegistration的ServletContext的任何已聲明過濾器映射之前應該匹配,則為false* 參數三: 過濾器映射的url* @param servletContext* @throws ServletException*/@Overridepublic void onStartup(ServletContext servletContext) throws ServletException {servletContext.addFilter("encodingFilter", EncodingFilter.class).addMappingForUrlPatterns(null, false, "/*");//必須調用回父類的onStartup方法,否則不會初始化DispatcherServletsuper.onStartup(servletContext);} }

?

mvc配置類,取代dispatcher-servlet.xml

?

package edu.nf.ch11.config;import edu.nf.ch11.interceptors.LoginInterceptor; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.web.multipart.commons.CommonsMultipartResolver; import org.springframework.web.servlet.config.annotation.EnableWebMvc; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; import org.springframework.web.servlet.view.InternalResourceViewResolver;/*** @author wangl* @date 2018/11/6* mvc配置類,取代dispatcher-servlet.xml*//*** 聲明配置類*/ //@Configuration /*** 啟用包掃描*/ @ComponentScan(basePackages = "edu.nf.ch11") /*** 啟用mvc注解驅動*/ @EnableWebMvc /*** 如果需要擴展webmvc配置,可以實現WebMvcConfigurer接口,* 覆蓋相關的default方法*/ public class WebConfig implements WebMvcConfigurer {/*** 配置靜態資源處理方式一:使用容器的默認Servlet處理*//*@Overridepublic void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {//啟用默認Servlet支持configurer.enable();}*//*** 配置靜態資源處理方式二:springmvc處理靜態資源*/@Overridepublic void addResourceHandlers(ResourceHandlerRegistry registry) {registry.addResourceHandler("/static/**").addResourceLocations("/static/");}/*** 添加攔截器* addInterceptor方法指定自定義攔截器對象* addPathPatterns方法指定哪些請求經過攔截器* excludePathPatterns方法指定哪些請求放行*/@Overridepublic void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(new LoginInterceptor()).addPathPatterns("/**").excludePathPatterns("/static/login.html","/static/js/**","/userLogin");}/*** 配置commons-upload上傳*/@Beanpublic CommonsMultipartResolver multipartResolver(){CommonsMultipartResolver resolver = new CommonsMultipartResolver();//設置限制上傳大小resolver.setMaxUploadSize(104857600);//設置編碼resolver.setDefaultEncoding("UTF-8");return resolver;}/*** 配置默認的視圖解析器*/@Beanpublic InternalResourceViewResolver viewResolver(){InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();viewResolver.setPrefix("/WEB-INF/jsp/");viewResolver.setSuffix(".jsp");//如果頁面需要使用JSTL標簽庫//viewResolver.setViewClass(JstlView.class);return viewResolver;} }

?

BaseController:

package edu.nf.ch11.controller;import edu.nf.ch11.controller.vo.ResponseVO;/*** @author wangl* @date 2018/11/6*/ public class BaseController {protected ResponseVO success(Object value){ResponseVO vo = new ResponseVO();vo.setValue(value);return vo;}protected ResponseVO success(){ResponseVO vo = new ResponseVO();return vo;}protected ResponseVO error(int code, String message){ResponseVO vo = new ResponseVO();vo.setCode(code);vo.setMessage(message);return vo;} } View Code

UserController:

package edu.nf.ch11.controller;import edu.nf.ch11.controller.vo.ResponseVO; import edu.nf.ch11.entity.Users; import edu.nf.ch11.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.ModelAndView;import javax.servlet.http.HttpSession;/*** @author wangl* @date 2018/11/6*/ @Controller public class UserController extends BaseController{@Autowiredprivate UserService userService;@PostMapping("/userLogin")public @ResponseBody ResponseVO login(Users user, HttpSession session){user = userService.getUser(user);session.setAttribute("user", user);return success("/static/index.html");} } View Code

EncodingFilter:

package edu.nf.ch11.filter;import org.springframework.context.annotation.ComponentScan;import javax.servlet.*; import javax.servlet.annotation.WebFilter; import java.io.IOException;/*** @author wangl* @date 2018/11/6*/ //@WebFilter(urlPatterns = "/*") public class EncodingFilter implements Filter {@Overridepublic void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {System.out.println("字符過濾器...");servletRequest.setCharacterEncoding("utf-8");servletResponse.setCharacterEncoding("utf-8");//請求放行 filterChain.doFilter(servletRequest, servletResponse);}@Overridepublic void init(FilterConfig filterConfig) throws ServletException {}@Overridepublic void destroy() {} } View Code

?

轉載于:https://www.cnblogs.com/hhmm99/p/9925083.html

總結

以上是生活随笔為你收集整理的Spring MVC 全注解配置 (十一)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美成人精品欧美一 | 欧美日韩亚洲精品一区二区 | 免费无码国产精品 | 日本一区中文 | 久久一区视频 | 日韩欧美视频免费在线观看 | 亚洲一区h| 国产精品美女久久久久av爽 | 精品国偷自产一区二区三区 | 久久久久一区二区精码av少妇 | 国产精品一区二区人妻喷水 | 四虎影院在线看 | 亚洲双插| 精品久久成人 | 国产1区 | 黄色91视频 | 9久精品| 国产区一区二区 | 国产精品日日做人人爱 | 日韩成人高清视频在线观看 | 91avcom| 美女视频免费在线观看 | 丰满少妇理论片 | 91天天爽| 色呦呦网站 | va在线 | 日韩成人性视频 | 进去里片欧美 | 91成人免费网站 | 日韩成人精品一区二区 | 国产福利在线观看 | a天堂中文在线观看 | 夜夜爽天天操 | 国产吃瓜黑料一区二区 | 久久国产片 | 人体裸体bbb欣赏 | 91口爆一区二区三区在线 | 欧美极品三级 | 日本免费黄视频 | 国产美女视频免费观看下载软件 | 99蜜桃臀久久久欧美精品网站 | 国产a线 | 福利一区福利二区 | 蜜臀在线视频 | 成人免费自拍视频 | 日韩美女在线视频 | 国产一区二区福利 | 中文字幕五区 | 男女男精品视频 | 国产精品人妖 | 波多野结衣av一区二区全免费观看 | 欧美色乱| 欧美日韩人妻精品一区二区 | 操操插插 | 91免费版黄色 | 国产小视频免费观看 | 麻豆精品国产传媒av | 欧美成人免费看 | 久久99国产综合精品免费 | 欧美爱爱视频 | 国产成人无码专区 | 国产精品一区二区三区四区视频 | 美女免费黄色 | 天天爽天天做 | 欧美13p| 91免费看片| 蜜桃av噜噜一区二区三区网址 | 日日碰日日摸 | 亚洲欧洲自拍偷拍 | 久草视频播放 | 国产高清免费视频 | 国产一区观看 | 性爱视频在线免费 | 日韩不卡高清视频 | 亚洲性在线 | 超薄肉色丝袜一区二区 | 97超碰人人在线 | 国产一区二区精彩视频 | 国产麻豆一区 | 草草福利影院 | 亲子乱子伦xxxx | 少妇熟女视频一区二区三区 | 欧美一区二区三区在线观看 | 天天躁日日躁bbbbb | 天天干天天爱天天射 | 日韩区欧美区 | 久久九九免费视频 | 97精品一区二区三区 | 狠狠躁日日躁夜夜躁av | 欧美污视频在线观看 | 鲁鲁久久 | 91爱爱爱爱| 国产成人短视频在线观看 | 国产网站无遮挡 | 野外一级片 | 蜜桃久久久| 欧美破处大片 | 黄色免费视频网站 | av黄色片在线观看 |