标签:work r.java lib ota resource 标签 添加 ppi logger
1、pom.xml 定义版本
<properties> <spring.version>4.2.7.RELEASE</spring.version> <jackson.version>2.6.7</jackson.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties>
2、pom.xml 添加依赖
<!-- spring mvc 框架 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring.version}</version> </dependency> <!-- servlet --> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> </dependency> <!-- jsp/jstl/core 页面标签 --> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>taglibs</groupId> <artifactId>standard</artifactId> <version>1.1.2</version> </dependency> <!-- SLF4J API --> <!-- SLF4J 是一个日志抽象层,允许你使用任何一个日志系统,并且可以随时切换还不需要动到已经写好的程序 --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.22</version> </dependency> <!-- Log4j 日志系统(最常用) --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.22</version> </dependency> <!-- jackson --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>${jackson.version}</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId> <version>${jackson.version}</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>${jackson.version}</version> </dependency>
3、修改web.xml文件
<?xml version="1.0" encoding="UTF-8"?> <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" xmlns:websocket="http://www.springframework.org/schema/websocket" > <!-- Spring的log4j监听器 --> <listener> <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> </listener> <!-- 字符集 过滤器 --> <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> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>CharacterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- Spring view分发器 --> <servlet> <servlet-name>dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/classes/spring/dispatcher-servlet.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dispatcher</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath*:spring/*.xml</param-value> </context-param> </web-app>
4、在resources源码包内新建spring文件夹,专门存放spring的配置文件
5、把新建dispatcher-servlet.xml ,内容如下,放入spring文件夹内
<?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:websocket="http://www.springframework.org/schema/websocket" xmlns:tx="http://www.springframework.org/schema/tx" 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/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/websocket http://www.springframework.org/schema/websocket/spring-websocket.xsd"> <!-- 配置扫描的包 --> <context:component-scan base-package="com.*" /> <!-- 注册HandlerMapper、HandlerAdapter两个映射类 --> <mvc:annotation-driven /> <!-- 访问静态资源 --> <mvc:default-servlet-handler /> <!-- 视图解析器 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/views/"></property> <property name="suffix" value=".jsp"></property> </bean> </beans>
6、新建 log4j.properties 日志配置文件,放入resources源码包内
# Priorities are: DEBUG, INFO, WARN, ERROR, or FATAL.
log4j.rootCategory=INFO, CONSOLE, FILE
logs.dir=${catalina.base}/logs/springdemo/
logs.filename=logs
fileBufferSize=20480
#log to File
log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender
log4j.appender.FILE.File=${webapp.root}/logs/test.log
log4j.appender.FILE.encoding=UTF-8
log4j.appender.FILE.Append=true
log4j.appender.FILE.LocationInfo=true
log4j.appender.FILE.DatePattern=‘.‘yyyy-MM-dd‘.log‘
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern=[%-5p] %d(%r) --> %l: %m %x %n
log4j.appender.FILE.bufferSize=${fileBufferSize}
# CONSOLE is set to be a ConsoleAppender using a PatternLayout.
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Threshold=DEBUG
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=- %m%n
7、新建一个LoggerController,测试SpringMVC的访问
package com.jiafuwei.spring.controller; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @Controller public class LoggerController{ final Logger logger = LoggerFactory.getLogger(getClass()); @RequestMapping("/logger") public void handleRequest(HttpServletRequest req, HttpServletResponse resp) throws Exception { resp.getWriter().println("test logger"); logger.info("这是一条日志信息 - {}", "jiafuwei"); } }
8、启动项目,并进行访问 http://localhost:8080/spring-mvc-web/logger
页面得到结果:
控制台打印:
根据配置文件的设置,日志存放地址为项目发布路径下,logs的文件夹内
至此,SpringMVC搭建成功
我们再测试SpringMVC对 restful api 的支持
新建User.java对象
package com.jiafuwei.spring.controller; import java.util.ArrayList; import java.util.List; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import com.jiafuwei.spring.po.User; @Controller @RequestMapping("/user") public class RESTfulJSONController { //访问路径 http://localhost:8080/spring-mvc-web/user/view/jiafuwei /**Spring MVC RESTful JSON**/ @RequestMapping(value = "/view/{username}", method = RequestMethod.GET) @ResponseBody public User view(@PathVariable String username){ User user = new User(); user.setAge(10); user.setEmail("jiafuwei@qq.com"); user.setPassword("123"); user.setUsername(username); System.out.println("view username:"+username); return user; } //访问路径 http://localhost:8080/spring-mvc-web//user/query?username=jiahaha @RequestMapping(value = "/query", method = RequestMethod.GET) @ResponseBody public User query(@RequestParam(value="username", required=true) String username){ User user = new User(); user.setAge(10); user.setEmail("jiafuwei@qq.com"); user.setPassword("123"); user.setUsername(username); System.out.println("view username:"+username); return user; } //访问路径 http://localhost:8080/spring-mvc-web/user/list @RequestMapping(value = "/list", method = RequestMethod.GET) public @ResponseBody List<User> listPerson(@RequestParam(value = "username", required = false, defaultValue = "") String name) { User user = new User(); user.setAge(10); user.setEmail("jiafuwei@qq.com"); user.setPassword("123"); user.setUsername("haha"); User user2 = new User(); user2.setAge(50); user2.setEmail("tyew@qq.com"); user2.setPassword("frekkk"); user2.setUsername("zheshi"); List<User> listUser = new ArrayList<User>(); listUser.add(user); listUser.add(user2); return listUser; } }
通过访问,直接把User对象转换为json格式
项目地址 https://github.com/jiafuweiJava/spring-integration
从零开始--Spring项目整合(2)整合SpringMVC
标签:work r.java lib ota resource 标签 添加 ppi logger
原文地址:http://www.cnblogs.com/jiafuwei/p/6480616.html