1. 相关包引入

maven在pom.xml中引入

 <dependency>
 <groupId>org.springframework</groupId>
 <artifactId>spring-webmvc</artifactId>
 <version>5.3.19</version>
 </dependency>

2. web.xml配置

在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:spring-mvc.xml</param-value>
 </init-param>
 <!--tomcat启动后初始化SpringMVC-->
 <load-on-startup>1</load-on-startup>
 <async-supported>true</async-supported>
 </servlet>
 <servlet-mapping>
 <servlet-name>springMVC</servlet-name>
  <url-pattern>/</url-pattern>
 </servlet-mapping>

3. spring-mvc.xml配置

新建一个config目录,在此目录下创建spring-mvc.xml

<?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"
 xmlns:mvc="http://www.springframework.org/schema/mvc" 
xmlns:util="http://www.springframework.org/schema/util"
 xmlns:task="http://www.springframework.org/schema/task"
 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.xsd
 http://www.springframework.org/schema/mvc 
http://www.springframework.org/schema/mvc/spring-mvc.xsd 
http://www.springframework.org/schema/util 
http://www.springframework.org/schema/util/spring-util.xsd 
http://www.springframework.org/schema/task 
http://www.springframework.org/schema/task/spring-task.xsd">
 <bean id="stringHttpMessageConverter"
  class="org.springframework.http.converter.StringHttpMessageConverter">
 <constructor-arg value="UTF-8" index="0"></constructor-arg>
 <!--避免出现乱码 -->
 <property name="supportedMediaTypes">
 <list>
 <value>text/plain;charset=UTF-8</value>
            </list>
        </property>
    </bean>
    <bean id="fastJsonHttpMessageConverter"
         
 class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">
        <property name="supportedMediaTypes">
            <list>
                <value>application/json;charset=UTF-8</value>
                <value>text/html;charset=UTF-8</value>
            </list>
        </property>
    </bean>
    <!--注解支持-->
    <mvc:annotation-driven>
        <mvc:message-converters>
            <!-- 消息转化器 -->
            <ref bean="stringHttpMessageConverter"/>
            <ref bean="fastJsonHttpMessageConverter"/>
        </mvc:message-converters>
    </mvc:annotation-driven>
    <!-- 静态文件处理 -->
    <mvc:resources mapping="/resources/**" location="/WEB-INF/resources/"/>
    <!-- 组件扫描,配置扫描类的基包 -->
    <context:component-scan base-package="com.example.servletdemo" />
    
    <!-- 视图解析器配置 
    返回值会通过视图解析器解析为实际的物理视图,对于 InternalResourceViewResolver 视图解
析器,通过 prefix +     returnValue + suffix 这样的方式得到实际的物理视图,然后做转发操作
    -->
    <bean 
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/jsp/"/>
        <property name="suffix" value=".jsp"/>
    </bean>
</beans>

4. 日志配置

4.1. 介绍

日志对于开发来说,无疑是解决问题的杀手锏;程序员能够根据日志报出的错误原因,对症下药,及时的解决bug。下面是springmvc工程中配置日志输出

4.2. 导入包

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.7.16</version>
</dependency> 

4.3. 日志文件

在config目录下新增log4j.properties文件,以下配置的日志级别是:ERROR,WARN,INFO,DEBUG,内容如下:

#Level:ERROR,WARN,INFO,DEBUG
LOG_DIR = D:\\logs
log4j.rootLogger = DEBUG,Console,FileInfo,FileError
log4j.appender.Console = org.apache.log4j.ConsoleAppender
log4j.appender.Console.Threshold = DEBUG
log4j.appender.Console.ImmediateFlush = true
log4j.appender.Console.Target = SYSTEM_OUT
log4j.appender.Console.layout = org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd 
HH:mm:ss,SSS} method:%l%n%m%n
log4j.appender.FileInfo = org.apache.log4j.DailyRollingFileAppender
log4j.appender.FileInfo.Threshold = INFO
log4j.appender.FileInfo.ImmediateFlush = true
log4j.appender.FileInfo.Append = true
log4j.appender.FileInfo.DatePattern = '_'yyyy-MM-dd'.log'
log4j.appender.FileInfo.encoding=UTF-8
log4j.appender.FileInfo.File = ${LOG_DIR}/info
log4j.appender.FileInfo.layout = org.apache.log4j.PatternLayout
log4j.appender.FileInfo.layout.ConversionPattern = [%-5p][%d{ISO8601}]%m%n
log4j.appender.FileError = org.apache.log4j.DailyRollingFileAppender
log4j.appender.FileError.Threshold = ERROR
log4j.appender.FileError.ImmediateFlush = true
log4j.appender.FileError.Append = true
log4j.appender.FileError.DatePattern = '_'yyyy-MM-dd'.log'
log4j.appender.FileError.encoding=UTF-8
log4j.appender.FileError.File = ${LOG_DIR}/error
log4j.appender.FileError.layout = org.apache.log4j.PatternLayout
log4j.appender.FileError.layout.ConversionPattern = [%-5p][%d{ISO8601}]%m%n

配置完成后,启动springmvc项目将会把项目的debug日志在控制台输出,以便开发时排查问题。

4.4. 使用

@Controller
@RequestMapping("/test")
public class TestController {
    private static final Logger logger = 
LoggerFactory.getLogger(TestController.class);
    @GetMapping("/getStuInfo")
    @ResponseBody
    public String getStuInfo(){
        logger.error("学生信息error");
        logger.warn("学生信息warn");
        logger.info("学生信息info");
        logger.debug("学生信息debug");
        return "stu info";
    }
}

image.png


波波鱼
4 声望3 粉丝

« 上一篇
SpringMvc