SpringMVC课堂笔记Word文件下载.docx

上传人:b****3 文档编号:7140621 上传时间:2023-05-08 格式:DOCX 页数:19 大小:1.03MB
下载 相关 举报
SpringMVC课堂笔记Word文件下载.docx_第1页
第1页 / 共19页
SpringMVC课堂笔记Word文件下载.docx_第2页
第2页 / 共19页
SpringMVC课堂笔记Word文件下载.docx_第3页
第3页 / 共19页
SpringMVC课堂笔记Word文件下载.docx_第4页
第4页 / 共19页
SpringMVC课堂笔记Word文件下载.docx_第5页
第5页 / 共19页
SpringMVC课堂笔记Word文件下载.docx_第6页
第6页 / 共19页
SpringMVC课堂笔记Word文件下载.docx_第7页
第7页 / 共19页
SpringMVC课堂笔记Word文件下载.docx_第8页
第8页 / 共19页
SpringMVC课堂笔记Word文件下载.docx_第9页
第9页 / 共19页
SpringMVC课堂笔记Word文件下载.docx_第10页
第10页 / 共19页
SpringMVC课堂笔记Word文件下载.docx_第11页
第11页 / 共19页
SpringMVC课堂笔记Word文件下载.docx_第12页
第12页 / 共19页
SpringMVC课堂笔记Word文件下载.docx_第13页
第13页 / 共19页
SpringMVC课堂笔记Word文件下载.docx_第14页
第14页 / 共19页
SpringMVC课堂笔记Word文件下载.docx_第15页
第15页 / 共19页
SpringMVC课堂笔记Word文件下载.docx_第16页
第16页 / 共19页
SpringMVC课堂笔记Word文件下载.docx_第17页
第17页 / 共19页
SpringMVC课堂笔记Word文件下载.docx_第18页
第18页 / 共19页
SpringMVC课堂笔记Word文件下载.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

SpringMVC课堂笔记Word文件下载.docx

《SpringMVC课堂笔记Word文件下载.docx》由会员分享,可在线阅读,更多相关《SpringMVC课堂笔记Word文件下载.docx(19页珍藏版)》请在冰点文库上搜索。

SpringMVC课堂笔记Word文件下载.docx

return"

itemList"

;

}

2.2List类型的绑定

基于批量修改商品操作完成参数传递。

POJO修改

3@RequestMapping注解的使用

3.1路径映射可以是数组

3.2@RequestMapping可以加在类头部,用于目录分级管理

3.3限定请求方法

4Controller方法返回值

4.1返回ModelAndView

参考第一天内容。

4.2返回void

4.2.1request

新建msg.jsp

4.2.2response

4.3返回String

4.3.1返回视图名字,参考第一天内容

4.3.2redirect与forward

5Springmvc中异常处理

思想:

做一个全局异常处理器,处理所有没有处理过的运行时异常用于更友好地提示用户。

5.1步骤

5.1.1创建全局异常处理器

*全局异常处理器

*@authorSteven

*

publicclassCustomerExceptionimplementsHandlerExceptionResolver{

@Override

publicModelAndViewresolveException(HttpServletRequestrequest,HttpServletResponseresponse,Objecthanlder,

Exceptione){

//记录日志

e.printStackTrace();

//错误消息

Stringmsg="

很抱歉,系统发生异常了,请联系管理员"

//响应用户错误提示

ModelAndViewmav=newModelAndView();

//返回错误消息

mav.addObject("

msg"

msg);

//响应错误提示页面

mav.setViewName("

);

returnmav;

}

5.1.2配置异常处理器

5.1.3测试访问queryVoid.action

5.1.4更智能、更友好的提示,解决方案

5.1.4.1新建自定义异常类

*自定义异常

publicclassMyExceptionextendsException{

//错误消息

privateStringmsg;

publicMyException(){

super();

publicMyException(Stringmsg){

this.msg=msg;

publicStringgetMsg(){

returnmsg;

publicvoidsetMsg(Stringmsg){

5.1.4.2修改异常处理器,加上异常判断

5.1.4.3测试访问queryVoid.action

6图片上传处理

6.1配置虚拟目录

6.2加入上传功能需要的jar包

6.3配置多媒体解析器

<

!

--配置多媒体处理器-->

<

--注意:

这里id必须填写:

multipartResolver-->

beanid="

multipartResolver"

class="

mons.CommonsMultipartResolver"

>

<

--最大上传文件大小-->

propertyname="

maxUploadSize"

value="

8388608"

/>

/bean>

6.4jsp修改

6.5编写图片上传处理代码

//图片上传用MultipartFile接收文件

@RequestMapping(value="

updateItem"

method={RequestMethod.POST,RequestMethod.GET})

publicStringupdateItem(Itemitem,Modelmodel,MultipartFilepicFile)throwsException{

//图片新名字

Stringname=UUID.randomUUID().toString();

//图片原名字

StringoldName=picFile.getOriginalFilename();

//后缀名

StringexeName=oldName.substring(oldName.lastIndexOf("

."

));

Filepic=newFile("

D:

\\WebWork\\"

+name+exeName);

//保存图片到本地磁盘

picFile.transferTo(pic);

//更新商品图片信息

item.setPic(name+exeName);

itemServices.update(item);

model.addAttribute("

item"

item);

"

修改商品成功"

itemEdit"

7json数据交互

7.1加入jar包

7.2编码

*json数据交互演示

*

*@paramitem2

getItem"

//@ResponseBody把pojo转成json串响应用户

@ResponseBody

//@RequestBody用于接收用户传入json串转成pojo

publicItemgetItem(@RequestBodyItemitem2){

System.out.println("

接收到的json商品数据为:

+item2);

Itemitem=itemServices.getItemById(3);

returnitem;

7.3测试,安装google浏览器测试工具

详情可查看教案上的安装谷歌浏览器工具节点

8Springmvc实现Restful

8.1编码

*RESTful风格演示

*@paramids

*@parammodel

//RESTful风格url上的参数通过{}点位符绑定

//点位符参数名与方法参数名不一致时,通过@PathVariable绑定

/item/{id}"

publicStringtestRest(@PathVariable("

id"

)Integerids,Modelmodel){

Itemitem=itemServices.getItemById(ids);

8.2测试

测试直接访问url{http:

//localhost:

8080/项目名/item/1.action}即可。

9拦截器

9.1拦截器开发流程

9.1.1创建拦截器

9.1.1.1一号拦截器

*自定义拦截器

publicclassMyInterceptor1implementsHandlerInterceptor{

//在Controller方法执行后被执行

//处理异常、记录日志

publicvoidafterCompletion(HttpServletRequestarg0,HttpServletResponsearg1,Objectarg2,Exceptionarg3)

throwsException{

MyInterceptor1.afterCompletion....."

//在Controller方法执行后,返回ModelAndView之前被执行

//设置或者清理页面共用参数等等

publicvoidpostHandle(HttpServletRequestarg0,HttpServletResponsearg1,Objectarg2,ModelAndViewarg3)

MyInterceptor1.postHandle....."

//在Controller方法执行前被执行

//登录拦截、权限认证等等

publicbooleanpreHandle(HttpServletRequestarg0,HttpServletResponsearg1,Objectarg2)throwsException{

MyInterceptor1.preHandle....."

//返回true放行,false拦截

returntrue;

9.1.1.2二号拦截器,复制一号,修改一下系统输出消息

9.1.2配置拦截器

--拦截器定义-->

mvc:

interceptors>

--定义一个拦截器-->

interceptor>

<

--path配置<

/**>

拦截所有请求,包括二级以上目录,<

/*>

拦截所有请求,不包括二级以上目录-->

mappingpath="

/**"

/>

beanclass="

com.itheima.springmvc.interceptor.MyInterceptor1"

/mvc:

com.itheima.springmvc.interceptor.MyInterceptor2"

9.1.3测试流程,可参考教案

9.2拦截器案例应用,登录拦截器

9.2.1思路

1、有一个登录页面,需要写一个controller访问页面

2、登录页面有一提交表单的动作。

需要在controller中处理。

a)判断用户名密码是否正确

b)如果正确想session中写入用户信息

c)返回登录成功,或者跳转到商品列表

3、拦截器。

a)拦截用户请求,判断用户是否登录

b)如果用户已经登录。

放行

c)如果用户未登录,跳转到登录页面。

9.2.2login.jsp

%@pagelanguage="

java"

contentType="

text/html;

charset=UTF-8"

pageEncoding="

UTF-8"

%>

DOCTYPEhtmlPUBLIC"

-//W3C//DTDHTML4.01Transitional//EN"

"

http:

//www.w3.org/TR/html4/loose.dtd"

html>

head>

metahttp-equiv="

Content-Type"

content="

title>

用户登录<

/title>

/head>

body>

formaction="

${pageContext.request.contextPath}/user/login.action"

用户名:

inputtype="

text"

name="

username"

br>

密码:

password"

submit"

/form>

/body>

/html>

9.2.3UserController

*登录拦截器

@Controller

@RequestMapping("

user"

publicclassUserController{

/**

*跳转登录页面

toLogin"

publicStringtoLogin(){

login"

*用户登录

publicStringlogin(Stringusername,Stringpassword,HttpSessionsession){

Stringresult="

//断定用户是否允许登录

if(username!

=null){

session.setAttribute("

username);

//登录成功,跳转商品列表

result="

redirect:

/itemList.action"

returnresult;

9.2.4LoginInterceptor拦截器编码

这里省略类声名和其它两个方法。

//处理执行前被执行

//登录拦截、权限验证

publicbooleanpreHandle(HttpServletRequestrequest,HttpServletResponseresponse,Objectarg2)throwsException{

Objectattribute=request.getSession().getAttribute("

if(attribute!

//放行,执行处理器

returntrue;

}else{

response.sendRedirect(request.getContextPath()+"

/user/tologin.action"

returnfalse;

9.2.5拦截器配置

--登录拦截器-->

--配置不拦截请求的地址-->

--<

exclude-mappingpath="

/user/toLogin.action"

/user/login.action"

-->

/user/*"

com.itheima.springmvc.interceptor.LoginInterceptor"

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 节日庆典

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2