欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

【Saas-export项目】--项目整合(spring整合MVC)

程序员文章站 2022-03-11 16:19:07
文章目录Spring整合SpringMVC(export_web_manager子工程)(1)log4j.propertiesSpring整合SpringMVC(export_web_manager子工程)(1)log4j.properties不在别的子工程中添加呢?当前 web层的数据的接收与返回,非常重要(2)web.xml(3)springmvc.xmllog4j.properties......



Spring整合SpringMVC(export_web_manager子工程)

【Saas-export项目】--项目整合(spring整合MVC)

(1)log4j.properties

不在别的子工程中添加呢?当前 web层的数据的接收与返回,非常重要

# 将debug等级(可修改)的日志信息输出到CONSOLE和LOGFILE这两个目的地(多个按,逗号隔开)
# CONSOLE和LOGFILE定义在下面的代码,【可以任意起名,可以有多个,不一定只是两个】
# 等级:OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL
#    比如(配置OFF全部都不显示,配置为INFO这样只显示INFO、WARN、ERROR的log信息,而DEBUG信息不会被显示)
log4j.rootLogger=debug, stdout, logfile

#log4j.category.org.apache=INFO
log4j.category.org.springframework=info

# log4j.appender.CONSOLE -->  定义名为CONSOLE的输出端是哪种类型,有五个值
# org.apache.log4j.ConsoleAppender(控制台)
# org.apache.log4j.FileAppender(文件)
# org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
# org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)
# org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
# 这里CONSOLE输出端是控制台
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender

# log4j.appender.CONSOLE.layout  -->  定义名为CONSOLE的输出端的layout布局方式是哪种类型,有四个值
# org.apache.log4j.PatternLayout(可以灵活地指定布局模式)【***】
# org.apache.log4j.HTMLLayout(以HTML表格形式布局)
#org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串)
#org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)
# 这里设置为PatternLayout,可以灵活指定布局的模式
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout

# log4j.appender.CONSOLE.layout.ConversionPattern
# 使用PatternLayout布局需要指定打印信息的具体格式ConversionPattern,参数:
#   %d 输出日志时间,默认格式为ISO8601,也可以在其后指定格式,如:%d{yyyy-MM-dd HH:mm:ss,SSS},输出类似:2020-10-16 17:02:28,968
#   %r 输出自应用启动到输出该log信息耗费的毫秒数
#   %t 输出产生该日志事件的线程名(比如main、gc)
#   %p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL等方式
#   %c 输出所属的类目,通常就是所在类的全名;
#   %m 输出代码中指定的消息
#   %M 输出打印该条日志的方法名
#   %n 输出一个回车换行符,Windows平台为"rn”,Unix平台为"n”;

#   %l 输出日志事件的发生位置,及在代码中的行数;
#   [QC]是log信息的开头,可以为任意字符,一般为项目简称。
log4j.appender.CONSOLE.layout.ConversionPattern=%d %p [%c] - %m%n


# LOGFILE配置 (名称可以自定义) 这里配置日志文件存储(存储到指定路径)

# log4j.appender.LOGFILE 用于定义名为LOGFILE的输出端的类型为每天产生一个日志文件。
log4j.appender.logfile=org.apache.log4j.RollingFileAppender
# log4j.appender.LOGFILE.File 定义名为LOGFILE的输出端的文件名为C:\log\myweb.log(可以自行修改)
log4j.appender.logfile.File=c:\\log\\myweb.log

log4j.appender.logfile.MaxFileSize=1KB

log4j.appender.logfile.MaxBackupIndex=5
# log4j.appender.LOGFILE.layout 输出日志布局设置PatternLayout,和上面的一样
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
# log4j.appender.LOGFILE.layout.ConversionPattern 自定义格式输出,和上面一样
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n

(2)web.xml

配置字符编码过滤器,配置监听器,配置前端控制器进行请求分发

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://java.sun.com/xml/ns/javaee"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
         version="2.5">

  <!--1.spring监听器: 读取applicationContext.xml配置文件-->
  <!--修改监听器读取配置路径-->
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath*:spring/applicationContext-*.xml</param-value>
  </context-param>
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>

  <!--2.字符编码过滤器-->
  <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>

  <!--3.springmvc前端控制器-->
  <servlet>
    <servlet-name>dispatcherServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath:spring/springmvc.xml</param-value>
    </init-param>
    <!--项目启动的时候,创建DispatcherServlet-->
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>dispatcherServlet</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>

</web-app>

(3)springmvc.xml

开启注解驱动,配置过滤文件,配置视图解析器,扫描controller

<?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"
       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">

    <!--1.扫描Controller所在包-->
    <context:component-scan base-package="com.smp.web"/>

    <!--2.视图解析器-->
    <!-- success   查找文件 /WEB-INF/pages/success.jsp -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <!--2.1 前缀-->
        <property name="prefix" value="/WEB-INF/pages/"/>
        <!--2.2 后缀-->
        <property name="suffix" value=".jsp"/>
    </bean>

    <!--3.mvc注解驱动-->
    <!--3. 把转换器工厂放入到注解驱动,才会生效的 @RequestMapping @ResponseBody @RequestBody-->
    <mvc:annotation-driven conversion-service="conversionServiceFactory"/>

</beans>

(4)CompanyController测试

src\main\java\com\smp\web\controller\company

@Controller
@RequestMapping("/company")
public class CompanyController {
    private static final Logger l= LoggerFactory.getLogger(CompanyController.class);
    @Autowired
    ICompanyService iCompanyService;

    //list.action->list
    //访问company/list.do
    @RequestMapping(path = "/list.do",method = RequestMethod.GET)
    public String list(Model model){
        List<Company> list=iCompanyService.findAll();
        l.info("list list="+list);
        model.addAttribute("list",list);
        return "company/company-list";
    }
}

(5)company-list.jsp页面数据显示

src\main\webapp\WEB-INF\pages\company

<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<%--${list}--%>
<a href="#">新增</a>
<table border="1px" width="100%">
    <tr>
        <td>id</td>
        <td>公司名称</td>
        <td>到期时间</td>
        <td>公司地址</td>
        <td>营业执照</td>
        <td>法人代表</td>
        <td>公司电话</td>
        <td>公司规模</td>
        <td>所属行业</td>
        <td>备注</td>
        <td>状态</td>
        <td>当前余额</td>
        <td>管理</td>
    </tr>
<c:forEach items="${list}" var="company">
    <tr>
        <td>${company.id}</td>
        <td>${company.name}</td>
        <td>${company.expirationDate}</td>
        <td>${company.address}</td>
        <td>${company.licenseId}</td>
        <td>${company.representative}</td>
        <td>${company.phone}</td>
        <td>${company.companySize}</td>
        <td>${company.industry}</td>
        <td>${company.remarks}</td>
        <td>${company.state}</td>
        <td>${company.balance}</td>
        <td><a href="#">删除</a>
            <a>|</a>
            <a href="#">修改</a>
        </td>
    </tr>
</c:forEach>
</table>
</body>
</html>

(6)访问地址

打开Tomcat,访问:http://localhost:8080/export_web_manager_war_exploded/company/list.do
【Saas-export项目】--项目整合(spring整合MVC)

本文地址:https://blog.csdn.net/qq_41209886/article/details/109256679