zoukankan      html  css  js  c++  java
  • springMVC

    1.springMVC结构				//java StudyWEB前端springMVC图      这个里面有springmvc,struts2架构设计图
    		控制层 controller:接受请求,发送请求		<-->	1.处理器映射器 //springmvc-servlet.xml核心配置文件
    				//web.xml									
    												<-->	2,处理器适配器 <--> UserController(UserAction)
    												<-->	3.视图解析器 ViewResolver
    												<-->	view视图层
    													123springMVC三大组件
    2.乱码处理
    	1.get处理
    		解码编码
    		username = new String(username.getBytes("ISO8859-1"),"UTF-8");
    	2.servlet服务器编码  //tomcat服务器service.xml处理
    		 <Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
    	3.post处理
    		spring编码过滤器,web.xml配置
    	
    
    
    
    3.ssm框架搭建步骤:
    	1.动态web项目
    	1.导包 mybetis spring springMVC
    	2.web.xml
    		编码过滤器
    		加载spring配置文件 //applicationContext.xml
    		加载springmvc配置文件 //springmvc.xml
    	2.springmvc.xml
    		扫描包
    		注解驱动
    	3.applicationContext-dao.xml
    	  applicationContext-service.xml
    	4.sqlMapConfig.xml
    
    
    
    
    4.springMVC重定向:
    	两种
    		1.本类进行重定向'
    			return "redirect:hello.do"
    				>本类重定向,不需要从根路径开始
    				>必须加扩展名.do web.xml中需要经过过滤器
    		2.跨类重定向
    			return "redirect:/items/list.do"	
    				>必须从根路径进行访问
    				>必须加扩展名
    
    5.springMVC转发:
    	特点:请求地址不发生变更
    	1.本类进行转发
    		return "forward:hello.do"
    	2.跨类进行转发	
    		return "forward:/items/list.do"
    
    		
    6.springMVC请求方法唯一性定义
    	1.在Contrller类上加@RequestMapping(类名)
    	2.在方法前面多加类根路径@RequestMapping("/user/save")
    		
    		
    7.springMVC注解:  //
    	@RequestMapping(请求映射)
    		用法:
    			1.@RequestMapping("url")
    			2.@RequestMapping(value="url.do")
    			3.@RequestMapping(value="url",method=RequestMethod.GET/POST)
    	@RequestParam()
    		作用:处理请求参数
    		参数:
    			defaultValue:设置默认值,当前台页面传递参数为null时,使用默认值.(应用场景:分页)_
    			value:定义别名 -- 当前台页面传递参数名称和方法中参数名称不一致,页面参数可以和别名进行匹配
    			required:表示必须传递参数,默认true
    		用法:public String userlist(@RequestParam(defaultValue="1",value="ids",required=true) Integer id) {}
    		
    	@RequestBody
    		作用:把请求的json数据,封装到javaBean对象
    	@ResponseBody
    		作用:把javaBean对象自动变成json对象返回页面,或者远程对象
    		实现条件:
    			1.导入@RequestBody,@ResponseBody转换所依赖的jar文件,3个jar
    				Jackson -- 用来把javabean数据转换json格式,把json格式转换成javabean
    				//只需要导入,springmvc就会自动整合jackson,
    			2.springnvc配置文件配置
    				//以前需要配置注解映射器和注解适配器,现在用下面代替就可以
    				<mvc:annotation-driven />
    	案例:1.请求Json响应Json
    			@Controller
    			@RequestMapping("json")
    			public class MyJsonController {
    				@RequestMapping("requestJson.do")
    				public @ResponseBody User requestJson(Model model,@RequestBody User u){
    					System.out.println("用户信息:"+u);
    					return u;
    				}}
    	案例:2.请求pojo响应json
    			@Controller
    			@RequestMapping("json")
    			public class MyJsonController {	
    				@RequestMapping("responseJson.do")
    				public @ResponseBody User responseJson(User user){
    					System.out.println(user);
    					return user;
    				}
    			}
    
    8.springmvc处理异常
    	全局异常处理器
    		1.运行时异常
    			返回错误页面
    		2.可预期异常
    			商品不存在
    			....
    	全局异常处理器:
    		1.自定义异常类
    		2.创建全局异常处理器类 implements HandlerExceptionResolver
    		3.springmvc.xml中,配置全局异常处理器
    			
    	
    
    9.springmvc图片上传   
    	1.传统(原始)方式上传(了解)
    		form上传 需要添加enctype="multipart/form-data"
    		//不能跨服务器
    	2.ajax异步方式上传
    		跨服务器上传文件方式:
    			ftp
    			分布式文件系统
    				fastdfs
    				mgfs
    				mgdb//小文件
    		sun公司工具包:jersey
    		异步上传条件:
    			1.导入jar文件
    				jersey  //sun公司工具包 3个
    				commons-fileupload
    				commons-io
    			2.在springmvc.xml配置上传文件解析器
    					<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    						<property name="maxUploadSize" value="10240000"></property>
    					</bean>
    			3.搭建图片服务器
    				注意:搭建服务器放入tomcat时,需要在tomcat中web.xml里面103行左右,如下配置
    											//eclipse中 --> Servers -->找到要部署的服务器
    				        <init-param>
    							<param-name>readonly</param-name>
    							<param-value>false</param-value>
    						</init-param>
    
    10.restfull:    //java StudyWEB前端springMVC图day2
    	概念:软件的架构风格,不是技术,规范
    	特点:没有参数,没有扩展名
    	优势:
    		>安全
    		>简洁,高效
    		>容易被搜索引擎收录
    	利用springmvc实现restfull软件架构风格:
    		1.web.xml 拦截所有
    			>servlet配置拦截为 /    // 不可以直接/* 那样会拦截jsp资源
    		2.springmvc.xml 放行静态资源   //高封装,一条语句就可以,以前需要手动很多语句
    				<mvc:default-servlet-handler/>
    		3.参数接收使用springnvc模板映射
    			@PathVariable  
    			案例:
    					@RequestMapping("/item/editItem/{id}")
    					public String editItem(@PathVariable Integer id,Model model) throws CustomException{
    						//调用服务层对象,查询商品对象
    						Items item = itemService.findItemByID(id);
    						//放入model
    						model.addAttribute("item", item);
    						return "editItem";
    					}
    					
    					
    
    11.springmvc拦截器   //java StudyWEB前端springMVC教案day2
    	在处理器映射器执行之前执行,拦截请求.
    	常用场景:用户是否登录.
    	使用:
    		1. public class LoginInterceptor implements HandlerInterceptor{}
    		2.springmvc.xml 配置拦截器
    

      

  • 相关阅读:
    10 传输模型与套接字(进阶)
    09 mongoDB基础(进阶)
    08 datetime与logging模块(进阶)
    07 json与os模块(进阶)
    06 python操作MySQL和redis(进阶)
    05 redis(进阶)
    04 mysql 基础三 (进阶)
    03 mysql补充 (进阶)
    <潭州教育>-Python学习笔记6@函数基础,必备参数,位置参数,可选参数
    <潭州教育>-Python学习笔记7@python 内置函数,作用域,闭包,递归
  • 原文地址:https://www.cnblogs.com/jiuya/p/9523898.html
Copyright © 2011-2022 走看看