【SpringMVC】之 IDEA 搭建SpringMVC(无web.xml)

预备


按照 http://blog.csdn.net/fanfan4569/article/details/76419218 搭建简单 webapp

预备做完,再进行以下步骤




步骤


(一)添加Spring MVC 支持

项目名 -> 右键 -> Add Framework Support

【SpringMVC】之 IDEA 搭建SpringMVC(无web.xml)_第1张图片
【SpringMVC】之 IDEA 搭建SpringMVC(无web.xml)_第2张图片


(二) 删除web.xml

目录结构

【SpringMVC】之 IDEA 搭建SpringMVC(无web.xml)_第3张图片


(三)配置pom.xml

下面是凡凡pom.xml

<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.0modelVersion>
  <groupId>cn.donaldygroupId>
  <artifactId>SpringMVC4artifactId>
  <packaging>warpackaging>
  <version>1.0-SNAPSHOTversion>
  <name>SpringMVC4 Maven Webappname>
  <url>http://maven.apache.orgurl>

  <properties>
    <java.version>1.8java.version>
    <project.build.sourceEncoding>UTF-8project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8project.reporting.outputEncoding>

    
    <jsp.version>2.2jsp.version>
    <jstl.version>1.2jstl.version>
    <servlet.version>3.1.0servlet.version>

    
    <spring-framework.version>4.1.5.RELEASEspring-framework.version>
    
    <logback.version>1.0.13logback.version>
    <slf4j.version>1.7.5slf4j.version>
  properties>

  <dependencies>

    <dependency>
      <groupId>javaxgroupId>
      <artifactId>javaee-web-apiartifactId>
      <version>7.0version>
      <scope>providedscope>
    dependency>

    
    <dependency>
      <groupId>org.springframeworkgroupId>
      <artifactId>spring-webmvcartifactId>
      <version>${spring-framework.version}version>
    dependency>

    
    <dependency>
      <groupId>javax.servletgroupId>
      <artifactId>jstlartifactId>
      <version>${jstl.version}version>
    dependency>

    <dependency>
      <groupId>javax.servletgroupId>
      <artifactId>javax.servlet-apiartifactId>
      <version>${servlet.version}version>
      <scope>providedscope>
    dependency>

    <dependency>
      <groupId>javax.servlet.jspgroupId>
      <artifactId>jsp-apiartifactId>
      <version>${jsp.version}version>
      <scope>providedscope>
    dependency>

    
    <dependency>
      <groupId>org.springframeworkgroupId>
      <artifactId>spring-txartifactId>
      <version>${spring-framework.version}version>
    dependency>

    
    <dependency>
      <groupId>org.slf4jgroupId>
      <artifactId>slf4j-apiartifactId>
      <version>${slf4j.version}version>
    dependency>
    <dependency>
      <groupId>log4jgroupId>
      <artifactId>log4jartifactId>
      <version>1.2.16version>
    dependency>
    <dependency>
      <groupId>org.slf4jgroupId>
      <artifactId>jcl-over-slf4jartifactId>
      <version>${slf4j.version}version>
    dependency>
    <dependency>
      <groupId>ch.qos.logbackgroupId>
      <artifactId>logback-classicartifactId>
      <version>${logback.version}version>
    dependency>
    <dependency>
      <groupId>ch.qos.logbackgroupId>
      <artifactId>logback-coreartifactId>
      <version>${logback.version}version>
    dependency>
    <dependency>
      <groupId>ch.qos.logbackgroupId>
      <artifactId>logback-accessartifactId>
      <version>${logback.version}version>
    dependency>
  dependencies>


  <build>
    <finalName>SpringMVC4finalName>

    <plugins>
      <plugin>
        <groupId>org.apache.maven.pluginsgroupId>
        <artifactId>maven-compiler-pluginartifactId>
        <version>2.3.2version>
        <configuration>
          <source>${java.version}source>
          <target>${java.version}target>
        configuration>
      plugin>

      <plugin>
        <groupId>org.apache.maven.pluginsgroupId>
        <artifactId>maven-war-pluginartifactId>
        <version>2.3version>
        <configuration>
          <failOnMissingWebXml>falsefailOnMissingWebXml>
        configuration>
      plugin>
    plugins>

  build>

project>

配置完,注意要用maven update下哦。


(四)配置logback.xml (可选)

配置logback.xml(在控制台打印日志),开发Spring MVC经常出现和参数类型相关的4XX错误,设置此项会看到更详细的错误信息。

【SpringMVC】之 IDEA 搭建SpringMVC(无web.xml)_第4张图片


<configuration scan="true" scanPeriod="1 seconds">
    <contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator">
        <resetJUL>trueresetJUL>
    contextListener>

    <jmxConfiguratior />

    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>logback: %d{HH:mm:ss.SSS} %logger{36} - %msg%npattern>
        encoder>
    appender>
    <logger name="org.springframework.web" level="DEBUG" />

    <root level="info">
        <appender-ref ref="console" />
    root>

configuration>


(五)Web配置

取代web.xml

【SpringMVC】之 IDEA 搭建SpringMVC(无web.xml)_第5张图片

/**
 * Created by DonaldY on 2017/8/3.
 */
public class WebInitializer implements WebApplicationInitializer {

    public void onStartup(ServletContext servletContext) throws ServletException {
        AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext();
        ctx.register(MyMvcConfig.class);
        ctx.setServletContext(servletContext);

        Dynamic servlet = servletContext.addServlet("dispatcher", new DispatcherServlet(ctx));
        servlet.addMapping("/");
        servlet.setLoadOnStartup(1);
    }
}


(六)Spring MVC 配置

普通的Spring 配置类

【SpringMVC】之 IDEA 搭建SpringMVC(无web.xml)_第6张图片

/**
 * Created by DonaldY on 2017/8/3.
 */
@Configuration
@EnableWebMvc
@ComponentScan("cn.donaldy.highlight")
public class MyMvcConfig {
    @Bean
    public InternalResourceViewResolver viewResolver() {
        InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
        viewResolver.setPrefix("/WEB-INF/classes/views/");
        viewResolver.setSuffix(".jsp");
        viewResolver.setViewClass(JstlView.class);
        return viewResolver;
    }
}


(七)配置Controller

简单控制类

【SpringMVC】之 IDEA 搭建SpringMVC(无web.xml)_第7张图片

/**
 * Created by DonaldY on 2017/8/3.
 */
@Controller
public class HelloController {

    @RequestMapping("/hello")
    public String hello() {

        return "hello";
    }

}


(八)配置视图

简单视图

【SpringMVC】之 IDEA 搭建SpringMVC(无web.xml)_第8张图片

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
    <head>
        <title>Titletitle>
    head>
    <body>

        <h2>Welcome to Spring MVC world. h2>
        <h3>Hello, DonaldY.h3>

    body>
html>


(九)检验

【SpringMVC】之 IDEA 搭建SpringMVC(无web.xml)_第9张图片


疑问

日志中还有不能理解的信息,再此记录下

这里写图片描述

你可能感兴趣的:(【SpringMVC】)