SpringMVC知识点学习笔记

1、概述:

① SpringMVC是一个模型-视图-控制器(MVC)的Web框架建立在中央前端控 制器ServletDispatcherServlet),他负责发送每个请求到合适的处理程序, 使用视图来最终返回响应结果的概述。SpringMVC是Spring产品组合的一部 分,他享有Spring loC容器紧密结合Spring松耦合等特点,因此它有Spring 的所有优点

② Spring web MVC框架提供了MVC(模型-视图-控制器)架构和用于开发灵活 和松散耦合的web应用程序组件,MVC模型导致应用程序的不同方面(输入 逻辑,业务逻辑和UI逻辑)分离,同时提供这些元素之间的松散耦合,模型 (Model)封装了应用程序数据,通常他们将由POJO类组成,视图(View) 负责渲染模型数据,一般来说他生成客户端浏览器可以解释HTML输出。控制 器(Controller)负责处理用户请求并构建适当的模型,并将其传递给视图进 行渲染

在这里插入图片描述

2、SpringWeb中自定义xxx-servlet.xml文件配置:

在这里插入图片描述

3、Springweb中web.xml文件配置:

在这里插入图片描述

4、DispatcherServlet组件类:

Spring Web模型-视图-控制器(MVC)框架是围绕DispatcherServlet设计的,它处理所有的HTTP请求和响应,Spring Web MVC DispatcherServlet的请求处理工作流如下图所示:

在这里插入图片描述

DispatcherServlet在传入HTTP请求的事件顺序:
在接收到HTTP请求后,DispatcherServlet(中央控制器)会查询HandlerMapping以调用相应的Controller,Controller接收请求,并根据使用的GET或POST方法调用相应的服务方法,服务方法将基于定义的业务逻辑设置模型数据,并将视图名称返回给DispatcherServlet,DispatcherServlet将从ViewResolver(视图解析器)获取请求的定义视图,当视图完成,DispatcherServlet将模型数据传递到最终的视图,并在浏览器上呈现

                       @Controller:声明该类是控制器类
                       @RequestMapping:请求映射

注意:
WEB-INF目录下的资源只能被服务端访问,不能被客服端直接访问,所以它是安全的。

后台接收前端传过来的值:
有三种超链接、表单和Ajax。
1、如果是超链接传值,我们后台则使用@PathVariable注解来接收传过来的值.
2、如果是表单传值,我们后台则使用@RequestParam注解来接收传过来的值.

后台程序返回值到页面常见使用的有(ModelAndView)和(ModelMap)。

springMVC访问静态资源需要加上配置标签

<mvc:annotaion-driven></mvc:annotation-driven>
<mvc:default-servlet-handler>

@ResponseBody注解实现返回对象,该注解写在方法体上面
要想使用@ResponseBody注解需要导入 3个包,分别是:
jackson-core
jackson-annotations
jackson-databind

5、SpringMVC国际化

第一步:首先要导入jar包,jstl.jar和stands.jar
第二步:配置好对应的资源文件(.properties)

配置文件的命名规范:
基名_语言_地区
例如:i18n_zh_CN //中文
	i18n_en_US//美国英语

第三步:在SpringMVC的配置文件中配置资源文件
(ResourceBundleMessageSource)
第四步:使用国际化,需要在jsp文件中引入SpringMVC的标签库。

注意:(.properties)
1、资源文件里面都是键值对的形式key=value
2、配置SpringMVC文件时,国际化资源文件的bean必须要写id属性,且值必须为messageSource

Ajax异步刷新请求技术
1、语法:

	$.ajax({
			type:"请求方式",
			url:"请求路径",
			data:"请求参数",
			状态
	})

注意
我们使用jquery里面的ajax方法实现,所以需要导入jquery的文件,然后在页面中引入该文件。

6、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/myapp.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 )

7、常见报错处理的方法

1、报500错为什么会报错?怎么解决?
程序的代码逻辑或配置文件逻辑不对,这时看控制台显示的错误信息去定位错误并解决。(控制台那么多的报错信息怎么看?找自己看的懂的,熟悉的,有印象的然后再找caused by显示的错误信息,caused by显示的错误信息往往就是我们产生错误的根本)
2、报404错为什么会报错?怎么解决?
路径错误可能是因为浏览器里的路径不正确,也可能是访问的资源文件路径不正确,或者路径中的单词错误等。缓存的话就多清理几次tomcat和project,最好把tomcat里的缓存文件给删除(\work\catalina)
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值