三,基于Java配置、无web.xml文件方式配置Spring MVC
2017-04-03 22:15
423 查看
工程结构
logback.xml&&pom.xml
<?xml version="1.0" encoding="UTF-8"?> <configuration scan="true" scanPerid="1 seconds"> <contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator"> <resetJUL>true</resetJUL> </contextListener> <jmxConfigurator/> <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <pattern>logbak: %d{HH:mm:ss:SSS} %logger{36} - %msg%n</pattern> </encoder> </appender> <logger name="org.springframework.web" level="DEBUG"></logger> <root level="INFO"> <appender-ref ref="CONSOLE" /> </root> </configuration>
pom.xml文件中所需jar包地址
<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/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.spring</groupId> <artifactId>springweb_demo</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <name>springweb_demo Maven Webapp</name> <url>http://maven.apache.org</url> <properties> <!-- 通常配置 --> <java.version>1.8</java.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <!-- web 配置 --> <jsp.version>2.2</jsp.version> <jstl.version>1.2</jstl.version> <servlet.version>3.1.0</servlet.version> <spring.version>4.3.0.RELEASE</spring.version> <!-- 日志文件配置 --> <logback.version>1.0.13</logback.version> <slf4j.version>1.7.5</slf4j.version> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <dependency> <groupId>javax</groupId> <artifactId>javaee-web-api</artifactId> <version>7.0</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>${jstl.version}</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>${servlet.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>${jsp.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>${spring.version}</version> </dependency> <!-- 日志配置使用slf4j和logback作为日志工具 --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>${slf4j.version}</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>jcl-over-slf4j</artifactId> <version>${slf4j.version}</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>${logback.version}</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-core</artifactId> <version>${logback.version}</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-access</artifactId> <version>${logback.version}</version> </dependency> </dependencies> <build> <finalName>springweb_demo</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configuration> <source>${java.version}</source> <target>${java.version}</target> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.3</version> <configuration> <failOnMissingWebXml>false</failOnMissingWebXml> </configuration> </plugin> </plugins> </build> </project>
业务实现代码
MyMVConfig.javapackage com.springweb_demo.example1; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.EnableWebMvc; import org.springframework.web.servlet.view.InternalResourceViewResolver; import org.springframework.web.servlet.view.JstlView; @Configuration @EnableWebMvc @ComponentScan("com.springweb_demo.example1") public class MyMVConfig { @Bean public InternalResourceViewResolver viewResolver(){ InternalResourceViewResolver viewResolver = new InternalResourceViewResolver(); viewResolver.setPrefix("/WEB-INF/views/"); viewResolver.setSuffix(".jsp"); viewResolver.setViewClass(JstlView.class); return viewResolver; } }
WebInitializer.java
package com.springweb_demo.example1; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.ServletRegistration.Dynamic; import org.springframework.web.WebApplicationInitializer; import org.springframework.web.context.support.AnnotationConfigWebApplicationContext; import org.springframework.web.servlet.DispatcherServlet; public class WebInitializer implements WebApplicationInitializer{ public void onStartup(ServletContext servletContext) throws ServletException { // TODO Auto-generated method stub AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext(); ctx.register(MyMVConfig.class); ctx.setServletContext(servletContext); Dynamic servlet = servletContext.addServlet("dispatcher", new DispatcherServlet(ctx)); servlet.addMapping("/"); servlet.setLoadOnStartup(1); } }
HelloController.java
package com.springweb_demo.example1; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @Controller public class HelloController { @RequestMapping("/hello") public String hello(){ return "hello"; } }
相关文章推荐
- JAVA WEB开发之基于xml配置文件的分页实现(一) 分页配置原理
- 基于注解的Spring MVC(所需jar包,web.xml配置,Spring文件配置,@Controller,@RequestMapping,@RequestParam,model填参,EL取值)
- 如何用Java类配置Spring MVC(不通过web.xml和XML方式)
- java web.xml配置文件中url-pattern路径匹配方式
- SSM框架,基于JavaConfig配置方式,不用xml配置文件
- 如何用Java类配置Spring MVC(不通过web.xml和XML方式)
- 基于Proguard软件基础上,针对Web项目xml配置文件修改的java项目。
- 基于XML配置的Spring MVC(所需jar包,web.xml配置,处理器配置,视图解析器配置)
- java中对于web.xml文件,filter的配置解释
- JavaWeb读取配置文件路径的两种方式
- JAVA_WEB项目之使用Spring的xml配置方式在项目中管理Lucene检索框架
- Spring MVC 配置文件 web.xml文件详解
- java基于xml配置的通用excel单表数据导入组件(二、xml配置文件解析加载)
- java非web应用修改 properties/xml配置文件后,无需重启应用即可生效---自动加载
- 关于spring MVC web.xml配置文件的编写总结(持续更新)
- Spring配置文件 在web.xml的几种配置方式
- 关于spring MVC web.xml配置文件的编写总结(持续更新)
- spring的配置文件在web.xml中加载的方式
- struts2 的web.xml 配置文件报错org.apache.struts2.impl.StrutsActionProxy.getErrorMessage(StrutsActionProxy.java:69)
- 基于Java Web开发中的Ant属性配置文件代码