Spring mvc(1) 搭建一个最简单的Spring mvc, 以及最简单的logback的配置
来源:互联网 发布:按键精灵安卓网络验证 编辑:程序博客网 时间:2024/06/17 15:24
1.最简单的Spring mvc
1 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.0</modelVersion> <groupId>test-mvc</groupId> <artifactId>demo-mvc</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <name>demo-mvc Maven Webapp</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>4.3.5.RELEASE</version> </dependency> </dependencies> <build> <finalName>demo-mvc</finalName> </build></project>
2 web.xml
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" ><web-app> <!-- icon?,display- name?,description?,distributable?, context-param*,filter*,filter-mapping*,listener*, servlet*,servlet- mapping*,session-config?,mime-mapping*, welcome-file-list?,error-page*,taglib*,resource-env-ref*,resource-ref*, security-constraint*,login-config?,security-role*,env-entry*,ejb-ref*,ejb-local-ref*)". --> <display-name>Archetype Created Web Application demo_mvc</display-name> <filter> <filter-name>encoding</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>encoding</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <listener> <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class> </listener> <!-- servlet start --> <servlet> <servlet-name>demo</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>demo</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <!-- end --></web-app>
3 /demo-mvc/src/main/webapp/WEB-INF/applicationContext.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:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:util="http://www.springframework.org/schema/util" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd "></beans>
4 demo-mvc/src/main/webapp/WEB-INF/demo-servlet.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:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xmlns:util="http://www.springframework.org/schema/util" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd "> <!-- 开启注解模式驱动 --> <mvc:annotation-driven></mvc:annotation-driven> <!-- 扫包 --> <context:component-scan base-package="demo"></context:component-scan> <!-- 静态资源过滤 --> <mvc:resources location="/resources/" mapping="/resources/**"/> <!-- 视图渲染 jsp/freemaker/velocity--> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <!-- 制定页面存放的路径 --> <property name="prefix" value="/WEB-INF/pages"></property> <!-- 文件的后缀 --> <property name="suffix" value=".jsp"></property> </bean> </beans>
5 Controller.java
package demo;import javax.servlet.http.HttpServletRequest;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;/** * 参考示例 */@RestController//@Order(value = 5)public class ControllerExcample{ @RequestMapping("/tst") public Object get_value(HttpServletRequest req) { return "heihei"; }}
工程结构如图
2 spring mvc + logback
1 添加pom.xml依赖
<dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.1.7</version> </dependency>
2 在src/main/resource添加logback.xml
<configuration> <!-- 参考 http://blog.csdn.net/kkgbn/article/details/51457686 --> <!-- %m输出的信息,%p日志级别,%t线程名,%d日期,%c类的全名 --> <property name="log_path" value="demo_logs"/> <property name="maxHistory" value="30"/> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <charset>UTF-8</charset> <pattern>%d %p (%file:%line\)- %m%n</pattern> </encoder> </appender> <appender name="console" class="ch.qos.logback.core.rolling.RollingFileAppender"> <File>${log_path}/console.log</File> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>${log_path}/console.log.%d</fileNamePattern> <maxHistory>${maxHistory}</maxHistory> </rollingPolicy> <encoder> <pattern> %d (%file:%line\)- %m%n </pattern> </encoder> </appender> <appender name="baselog" class="ch.qos.logback.core.rolling.RollingFileAppender"> <File>${log_path}/base.log</File> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedR ollingPolicy"> <fileNamePattern>${log_path}/base.log.%d</fileNamePattern> <maxHistory>${maxHistory}</maxHistory> </rollingPolicy> <encoder> <pattern> %d (%file:%line\)- %m%n </pattern> </encoder> </appender> <appender name="userlog" class="ch.qos.logback.core.rolling.RollingFileAppender"> <File>${log_path}/user.log</File> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>${log_path}/user.log.%d</fileNamePattern> <maxHistory>${maxHistory}</maxHistory> </rollingPolicy> <encoder> <pattern> %d (%file:%line\)- %m%n </pattern> </encoder> </appender> <root level="info"> <appender-ref ref="STDOUT" /> <!-- <appender-ref ref="console" /> --> </root> <!-- logger name="com.demo" level="info" --> <logger name="demo" level="debug"> <appender-ref ref="baselog" /> </logger> <logger name="USER"> <appender-ref ref="userlog" /> </logger> <jmxConfigurator/></configuration>
3 Java代码
package demo;import org.slf4j.Logger;import org.slf4j.LoggerFactory;public class LogCore{ public static Logger BASE = LoggerFactory.getLogger(LogCore.class); public static Logger USER = LoggerFactory.getLogger("USER");}
4 查看日志
1 查看tomcat的日志(与本文无关)
在catalina路径也就是-Dcatalina.base=/Users/bao/data/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0 参数
2 查看logback的日志
也就是System.getProperty(“user.dir”) 输出的地址
3 将配置文件移动到/src/main/resource里
1 修改web.xml
displayname 标签后添加
<context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </context-param>
servlet 的配置添加contextConfigLocation
<servlet> <servlet-name>demo</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:demo-servlet.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>demo</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
移动demo-servlet.xml和applicationContext.xml
4 注意事項,找不到http servlet錯誤”The superclass “javax.servlet.http.HttpServlet” was not found on the Java Build “的解決方式
方式1(不推荐)在环境变量引入外部Tomcat作为库
这样打包的时候不打进去httpServlet,因为我们要将项目部署在Tomcat上,tomcat作为容器已经有这些jar了。
方式2,但是我们用maven 工程在编译的时候需要有这个包,而package的时候忽略。
<dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> <scope>provided</scope></dependency>
就跟Spring boot使用外部Tomcat的时候添加依赖一样
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope></dependency>
阅读全文
0 0
- Spring mvc(1) 搭建一个最简单的Spring mvc, 以及最简单的logback的配置
- 最简单的 spring MVC
- spring mvc最简单的demo
- 2015 最简单的 Spring MVC 入门教程
- 搭建一个简单的Spring MVC框架
- 一个简单的Spring MVC配置
- Maven构建一个最简单的Spring Boot + Spring MVC项目
- Spring4 Spring MVC实战(一)——读《Spring in action》搭建最简单的MVC
- spring-mvc最小化配置,最简单入门。
- Spring MVC 3 最简单的入门示例
- 最简单的spring-mvc入门示例,绝对原创
- Spring MVC+Ant+Tomcat+Eclipse最简单的demo
- Spring MVC 3 最简单的入门示例
- Spring mvc中使用Json最简单的方法
- Spring MVC 3 最简单的入门示例
- Spring MVC 3 最简单的入门例子
- 最简单的Spring MVC Web程序记录
- Spring MVC 3 最简单的入门示例
- scala 使用jxl导出多sheet页
- 论文翻译
- Hbuilder 开发IOS 和 Android申请微信支付?那些懵逼的事?
- UGUI中设置利用图片设置一层蒙板的效果
- Linux 查看CPU信息,机器型号,内存等信息
- Spring mvc(1) 搭建一个最简单的Spring mvc, 以及最简单的logback的配置
- java实现经纬度勾股定理计算距离
- 走进AngularJs(七) 过滤器(filter)
- jquery.cookie.js 实现 登录时 记住我
- Android中的WakeLock
- PyDev操作
- JVM源码分析之synchronized实现
- linux makefile
- Codeforces Round #420 (Div. 2) A B C