当前位置: 首页 > news >正文

怎么搭建wap网站深圳网站建设网络

怎么搭建wap网站,深圳网站建设网络,品牌营销是什么工作,手机做app的软件叫什么文章目录 SpringMVC 获得请求数据获得请求参数获得基本类型参数获得POJO类型参数获得数组类型参数获得集合类型参数请求数据乱码问题参数绑定注解requestParam获得Restful风格的参数获得Restful风格的参数自定义类型转换器获得Servlet相关API获得请求头RequestHeaderCookieValu… 文章目录 SpringMVC 获得请求数据获得请求参数获得基本类型参数获得POJO类型参数获得数组类型参数获得集合类型参数请求数据乱码问题参数绑定注解requestParam获得Restful风格的参数获得Restful风格的参数自定义类型转换器获得Servlet相关API获得请求头RequestHeaderCookieValue 文件上传文件上传客户端三要素文件上传原理 单文件上传步骤 SpringMVC 获得请求数据 获得请求参数 客户端请求参数的格式是namevaluenamevalue… … 服务器端要获得请求的参数有时还需要进行数据的封装SpringMVC可以接收如下类型的参数  基本类型参数  POJO类型参数  数组类型参数  集合类型参数 获得基本类型参数 Controller中的业务方法的参数名称要与请求参数的name一致参数值会自动映射匹配。 http://localhost:8080/itheima_springmvc1/quick9?usernamezhangsanage12RequestMapping(/quick9)ResponseBodypublic void quickMethod9(String username,int age) throws IOException {System.out.println(username);System.out.println(age);}获得POJO类型参数 Controller中的业务方法的POJO参数的属性名与请求参数的name一致参数值会自动映射匹配。 http://localhost:8080/itheima_springmvc1/quick9?usernamezhangsanage1public class User {private String username;private int age;getter/setter…}RequestMapping(/quick10)ResponseBodypublic void quickMethod10(User user) throws IOException {System.out.println(user);}获得数组类型参数 Controller中的业务方法数组名称与请求参数的name一致参数值会自动映射匹配。 http://localhost:8080/itheima_springmvc1/quick11?strs111strs222strs333RequestMapping(/quick11)ResponseBodypublic void quickMethod11(String[] strs) throws IOException {System.out.println(Arrays.asList(strs));} 获得集合类型参数 获得集合参数时要将集合参数包装到一个POJO中才可以。 form action${pageContext.request.contextPath}/quick12 methodpostinput typetext nameuserList[0].usernamebrinput typetext nameuserList[0].agebrinput typetext nameuserList[1].usernamebrinput typetext nameuserList[1].agebrinput typesubmit value提交br/formRequestMapping(/quick12)ResponseBodypublic void quickMethod12(Vo vo) throws IOException {System.out.println(vo.getUserList());}当使用ajax提交时可以指定contentType为json形式那么在方法参数位置使用RequestBody可以直接接收集合数据而无需使用POJO进行包装。 script//模拟数据 var userList new Array();userList.push({username: zhangsan,age: 20});userList.push({username: lisi,age: 20});$.ajax({type: POST,url: /itheima_springmvc1/quick13,data: JSON.stringify(userList),contentType : application/json;charsetutf-8});/script当使用ajax提交时可以指定contentType为json形式那么在方法参数位置使用RequestBody可以直接接收集合数据而无需使用POJO进行包装。 RequestMapping(/quick13)ResponseBodypublic void quickMethod13(RequestBody ListUser userList) throws IOException {System.out.println(userList);}注意通过谷歌开发者工具抓包发现没有加载到jquery文件原因是SpringMVC的前端控制器 DispatcherServlet的url-pattern配置的是/,代表对所有的资源都进行过滤操作我们可以通过以下两种 方式指定放行静态资源 • 在spring-mvc.xml配置文件中指定放行的资源 mvc:resources mapping“/js/**” location“/js/”/ • 使用mvc:default-servlet-handler/标签 请求数据乱码问题 当post请求时数据会出现乱码我们可以设置一个过滤器来进行编码的过滤。 filterfilter-nameCharacterEncodingFilter/filter-namefilter-classorg.springframework.web.filter.CharacterEncodingFilter/filter-classinit-paramparam-nameencoding/param-nameparam-valueUTF-8/param-value/init-param/filterfilter-mappingfilter-nameCharacterEncodingFilter/filter-nameurl-pattern/*/url-pattern/filter-mapping参数绑定注解requestParam 当请求的参数名称与Controller的业务方法参数名称不一致时就需要通过RequestParam注解显示的绑定. form action${pageContext.request.contextPath}/quick14 methodpostinput typetext namenamebrinput typesubmit value提交br/formRequestMapping(/quick14)ResponseBodypublic void quickMethod14(RequestParam(name) String username) throws IOException {System.out.println(username);} 注解RequestParam还有如下参数可以使用  value与请求参数名称  required此在指定的请求参数是否必须包括默认是true提交时如果没有此参数则报错  defaultValue当没有指定请求参数时则使用指定的默认值赋值 获得Restful风格的参数 Restful是一种软件架构风格、设计风格而不是标准只是提供了一组设计原则和约束条件。主要用于客户端和服务器交互类的软件基于这个风格设计的软件可以更简洁更有层次更易于实现缓存机制等。 Restful风格的请求是使用“url请求方式”表示一次请求目的的HTTP 协议里面四个表示操作方式的动词如下  GET用于获取资源  POST用于新建资源  PUT用于更新资源  DELETE用于删除资源 例如  /user/1 GET 得到id 1 的 user  /user/1 DELETE 删除 id 1 的user  /user/1 PUT 更新id 1 的user  /user POST 新增user 获得Restful风格的参数 上述url地址/user/1中的1就是要获得的请求参数在SpringMVC中可以使用占位符进行参数绑定。地址/user/1可以写成/user/{id}占位符{id}对应的就是1的值。在业务方法中我们可以使用PathVariable注解进行占位符的匹配获取工作。 http://localhost:8080/itheima_springmvc1/quick19/zhangsanRequestMapping(/quick19/{name})ResponseBodypublic void quickMethod19(PathVariable(value name,required true) String name){System.out.println(name);}自定义类型转换器 • SpringMVC默认已经提供了一些常用的类型转换器例如客户端提交的字符串转换成int型进行参数设置。 • 但是不是所有的数据类型都提供了转换器没有提供的就需要自定义转换器例如日期类型的数据就需要自定义转换器。 自定义类型转换器的开发步骤 ① 定义转换器类实现Converter接口 ② 在配置文件中声明转换器 ③ 在annotation-driven中引用转换器 ①定义转换器类实现Converter接口 public class DateConverter implements ConverterString,Date{Overridepublic Date convert(String source) {SimpleDateFormat format new SimpleDateFormat(yyyy-MM-dd);try {Date date format.parse(source);return date;} catch (ParseException e) {e.printStackTrace();}return null;}}②在配置文件中声明转换器 bean idconverterService classorg.springframework.context.support.ConversionServiceFactoryBeanproperty nameconverterslistbean classcom.itheima.converter.DateConverter//list/property/bean③在中引用转换器 mvc:annotation-driven conversion-serviceconverterService/获得Servlet相关API SpringMVC支持使用原始ServletAPI对象作为控制器方法的参数进行注入常用的对象如下  HttpServletRequest  HttpServletResponse  HttpSession RequestMapping(/quick16) ResponseBody public void quickMethod16(HttpServletRequest request,HttpServletResponse response, HttpSession session){ System.out.println(request); System.out.println(response); System.out.println(session); }获得请求头 RequestHeader 使用RequestHeader可以获得请求头信息相当于web阶段学习的request.getHeader(name) RequestHeader注解的属性如下  value请求头的名称  required是否必须携带此请求头 RequestMapping(/quick17)ResponseBodypublic void quickMethod17(RequestHeader(value User-Agent,required false) String headerValue){System.out.println(headerValue);}CookieValue 使用CookieValue可以获得指定Cookie的值 CookieValue注解的属性如下  value指定cookie的名称  required是否必须携带此cookie RequestMapping(/quick18)ResponseBodypublic void quickMethod18( CookieValue(value JSESSIONID,required false) String jsessionid){System.out.println(jsessionid);}文件上传 文件上传客户端三要素  表单项type“file”  表单的提交方式是post  表单的enctype属性是多部分表单形式及enctype“multipart/form-data” form action${pageContext.request.contextPath}/quick20 methodpost enctypemultipart/form-data 名称input typetext namenamebr 文件input typefile namefilebr input typesubmit value提交br/form文件上传原理  当form表单修改为多部分表单时request.getParameter()将失效。  enctype“application/x-www-form-urlencoded”时form表单的正文内容格式是keyvaluekeyvaluekeyvalue  当form表单的enctype取值为Mutilpart/form-data时请求正文内容就变成多部分形式 单文件上传步骤 ① 导入fileupload和io坐标 ② 配置文件上传解析器 ③ 编写文件上传代码 ①导入fileupload和io坐标 dependencygroupIdcommons-fileupload/groupIdartifactIdcommons-fileupload/artifactIdversion1.3.3/version/dependencydependencygroupIdcommons-io/groupIdartifactIdcommons-io/artifactIdversion2.11.0/version/dependency②配置文件上传解析器 bean idmultipartResolver classorg.springframework.web.multipart.commons.CommonsMultipartResolver!--上传文件总大小--property namemaxUploadSize value5242800/!--上传单个文件的大小--property namemaxUploadSizePerFile value5242800/!--上传文件的编码类型--property namedefaultEncoding valueUTF-8//bean③编写文件上传代码 RequestMapping(/quick20)ResponseBodypublic void quickMethod20(String name,MultipartFile uploadFile) throws IOException {//获得文件名称 String originalFilename uploadFile.getOriginalFilename();//保存文件 uploadFile.transferTo(new File(C:\\upload\\originalFilename));}多文件上传只需要将页面修改为多个文件上传项将方法参数MultipartFile类型修改为MultipartFile[]即可 h1多文件上传测试/h1form action${pageContext.request.contextPath}/quick21 methodpost enctypemultipart/form-data 名称input typetext namenamebr 文件1input typefile nameuploadFilesbr 文件2input typefile nameuploadFilesbr 文件3input typefile nameuploadFilesbrinput typesubmit value提交br/formRequestMapping(/quick21)ResponseBodypublic void quickMethod21(String name,MultipartFile[] uploadFiles) throws IOException {for (MultipartFile uploadFile : uploadFiles){String originalFilename uploadFile.getOriginalFilename();uploadFile.transferTo(new File(C:\\upload\\originalFilename));}}
http://wiki.neutronadmin.com/news/61394/

相关文章:

  • 烟台电子商务网站手机可以开发网站
  • 榆林网站建设电话wordpress 站内资讯
  • 莱芜十七中网站wordpress用插件备份
  • 做ui的图从哪个网站找专业网站制作推荐
  • 织梦移动端网站建设网站建设构成技术要求
  • 云图书馆平台网站建设专业网站建设公司怎么做
  • 用ps软件做ppt模板下载网站有哪些内容新手学做网站要花钱么
  • c语言开发网站后端萤火虫网站建设优化
  • 发布网站免费空间wordpress文章页获取目录名称
  • 做网站的软件有些什么给网站做优化刷活跃要收费吗
  • 网站 域名 空间 服务器网站开发心得500字
  • 抚顺您做煮火锅网站杭州 建设网站
  • seo网站设计费用网络营销策划的基本原则是什么
  • 芜湖建设网站公司html菜鸟工具
  • 网站改版介绍电子商城是什么意思
  • 旅行社网站营销建设深圳做网站的网
  • 需要自己的网站需要怎么做东莞建网站公司品牌
  • 做阿里还是网站wordpress下载的主题怎么安装
  • 建设网站空间静态网站建设论文
  • 行政单位门户网站建设规定长沙seo外包平台
  • wordpress多语言建站所得税 网站建设费
  • 做网站 上海网络设计的约束要素是什么
  • 高清图片素材网站推荐哪个网站可以免费做国外
  • 网站子站建设课程网站开发过程
  • 手机网站宽度自适应产品网络营销推广方案
  • 网站建设体质喝什么茶六盘水合肥电商网站建设
  • 哪些网站是.net开发的婚庆租车
  • 东莞seo网站管理网络服务检测与维护
  • 建设银行 企业网站重庆交通建设监理协会网站
  • 网站建设催款函南通网站排名方法