第一课 了解SpringMVC
1、概述:
-
SpringMVC是一个模型-视图-控制器(MVC)的Web框架建立在中央前端控 制器ServletDispatcherServlet),他负责发送每个请求到合适的处理程序, 使用视图来最终返回响应结果的概述。SpringMVC是Spring产品组合的一部分,他享有SpringloC容器紧密结合Spring松耦合等特点,因此它有Spring 的所有优点。
-
Spring web MVC框架提供了MVC(模型-视图-控制器)架构和用于开发灵活和松散耦合的web应用程序组件,MVC模型导致应用程序的不同方面(输入逻辑,业务逻辑和UI逻辑)分离,同时提供这些元素之间的松散耦合,模型(Model)封装了应用程序数据,通常他们将由POJO类组成,视图(View)负责渲染模型数据,一般来说他生成客户端浏览器可以解释HTML输出。控制 器(Controller)负责处理用户请求并构建适当的模型,并将其传递给视图进 行渲染。
2、SprigWeb中自定义xxx-servlet.xml文件配置:
`
//开启SpringMVC支持注解功能
<bean class=”org.springframework.web.servlet.view.InternalResourceViewResolver”> <property name=”prefix” value=”/WEB-INF/jsp”/> <property name=”suffix” value=”.jsp”/> </bean>
注意:prefix前缀、suffix后缀
3、Springweb中web.xml文件配置:
<servlet>
<servlet-name>HelloWeb</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HellowWeb</servlet-name>
<url-pattern>*.jsp</url-pattern>
</servlet-mapping>
<!————DispatcherServlet definition goes here————>
....
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/HellowWeb-servlet.xml
</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
4、DispatcherServlet组件类:
Spring Web模型-视图-控制器(MVC)框架是围绕DispatcherServlet设计的,它处理所有的HTTP请求和响应,Spring Web MVC DispatcherServlet的请求处理工作流如下图所示:Spring MVC集成日志组件
1、概述:
- 日志组件就是帮助我们监控,记录程序运行状态的程序,日志组件大大的提高了我 们程序的可维护性
2、SpringMVC集成log4j的步骤:
第一步:导包(log4j-1.2.17.jar) 第二步:编写配置文件:# Root logger option
log4j.rootLogger=DEBUG, stdout, file
# Redirect log messages to console
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %c:%L - %n
# Redirect log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
#outputs to Tomcat home
log4j.appender.file.File=C:/Users/Administrator/Desktop/logs/myap p.log
log4j.appender.file.MaxFileSize=5MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %c:%L - %n
第三步:创建日志对象
private static final Logger LOG=Logger.getLogger(类名.class)
3、Log4J配置文件的基本格式如下:
-
#配置根Logger
-
#配置日志信息输出目的地Appender
-
#配置日志信息的格式(布局)
-
日志配置文件:根+信息输出地+格式
-
其中[level]是日志输出级别,共有5级: FATAL— 0、 ERROR 3 、WARN 4 、INFO 6(一般定义等级) DEBUG 7 。根:DEBUG(DEBUG调试输出)、stdout(标准输出)、file(文件输出) 信息输出地:
org.apache.log4j.ConsoleAppender(控制台),
org.apache.log4j.FileAppender(文件),
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方) 日志输出格式:
org.apache.log4j.HTMLLayout(以HTML表格形式布局),
org.apache.log4j.PatternLayout(可以灵活地指定布局模式),
org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)打印参数: Log4J采用类似C语言中的printf函数的打印格式格式化日志信息,如下:
%m 输出代码中指定的消息 %p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL %r 输出自应用启动到输出该log信息耗费的毫秒数 %c 输出所属的类目,通常就是所在类的全名 %t
输出产生该日志事件的线程名 %n 输出一个回车换行符,Windows平台为“/r/n”,Unix平台为“/n” %d
输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后 指定格式,比如:%d{yyy MMM dd HH:mm:ss
,SSS},输出类似:2002 年10月18日 22 : 10 : 28 , 921 %l
输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中 的行数。举例:Testlog4.main(TestLog4.java:10 )