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

网站开发调研方案网页界面设计中一般使用的分辨率

网站开发调研方案,网页界面设计中一般使用的分辨率,如何建设备案网站视频教程,建设厅网站密码忘了怎么办目录 一、使用Servlet原生对象获取参数 1.1 控制器方法 1.2 测试结果 二、自定义参数类型转换器 2.1 编写类型转换器类 2.2 注册类型转换器对象 2.3 测试结果 三、编码过滤器 3.1 JSP表单 3.2 控制器方法 3.3 配置过滤器 3.4 测试结果 往期专栏&文章相关导读…

目录

一、使用Servlet原生对象获取参数

1.1 控制器方法

1.2 测试结果

二、自定义参数类型转换器

2.1 编写类型转换器类

2.2 注册类型转换器对象 

2.3 测试结果 

三、编码过滤器

3.1 JSP表单

3.2 控制器方法

3.3 配置过滤器

3.4 测试结果 

往期专栏&文章相关导读 

1. Maven系列专栏文章

2. Mybatis系列专栏文章

3. Spring系列专栏文章 

4. Spring MVC系列专栏文章


一、使用Servlet原生对象获取参数

        SpringMVC也支持使用Servlet原生对象,在方法参数中定义HttpServletRequest 、HttpServletResponse 、 HttpSession 等类型的参数即可直接在方法中使用。

1.1 控制器方法

// 使用Servlet原生对象@RequestMapping("c1/param8")public void servletParam(HttpSession session,HttpServletRequest request, HttpServletResponse response){// 原生对象获取参数System.out.println(request.getParameter("name"));System.out.println(response.getCharacterEncoding());System.out.println(session.getId());}

        这个就是一个很经典的利用request内置对象获取参数了。请求之后在控制台打印参数和编码方式还有对应的sessionId。

访问路径:http://localhost:8080/c1/param8?name=LYL

1.2 测试结果

        OK,可以看得出来是已经成功把参数值和编码方式和sessionId给查询出来了

        一般情况下,在SpringMVC中都有对Servlet原生对象的方法的替代,推荐使SpringMVC的方式代替Servlet原生对象。

二、自定义参数类型转换器

前端传来的参数全部为字符串类型,SpringMVC使用自带的转换器将字符串参数转为需要的类型。如:

// 获取简单类型参数
@RequestMapping("/c1/param1")
public void simpleParam(String username,int age){System.out.println(username+" "+age);
}

但在某些情况下,无法将字符串转为需要的类型,如:

// 自定义转换日期格式字符串
@RequestMapping("c1/param9")
public void dataParam(Date birthday){
    System.out.println(birthday);
}
此时我们测试一下看看是什么结果:

控制台输出: 

报错原因:

[WARNING]Resolved[org.springframework.web.method.annotation.MethodArgumentTypeMismatchException: Failed to convert value of type 'java.lang.String' to required type 'java.util.Date'; nested exception is org.springframework.core.convert.ConversionFailedException: Failed to convert from type [java.lang.String] to type [java.util.Date] for value '2025-01-01'; nested exception is java.lang.IllegalArgumentException]
 具体意思就是:[org.springframework.web.method.annotation.MethodArgumentTypeMismatchException:未能将类型为“java.lang.String”的值转换为所需类型“java.util.Date”;嵌套异常为org.springfframework.core.covert.ConversionFailedException:无法将值“2025-01-01”从类型[java.lang.SString]转换为类型[java.util.Date];嵌套异常为java.lang.IllegalArgumentException]

2.1 编写类型转换器类

        由于日期数据有很多种格式,SpringMVC没办法把所有格式的字符串转换成日期类型。比如参数格式为 birthday=2025-01-01 时,SpringMVC就无法解析参数。此时需要自定义参数类型转换器。 首先得定义类型转换器类,实现Converter接口。写法如下:  

package com.example.converter;import org.springframework.core.convert.converter.Converter;import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;public class DataConverter implements Converter<String, Date> {/*** 转换方法* @param s 转换前的数据* @return 转换后的数据*/@Overridepublic Date convert(String s) {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd");Date date = null;try{date = sdf.parse(s);} catch (ParseException e) {System.out.println("转换成日期格式出错了!");e.printStackTrace();}return date;}
}

2.2 注册类型转换器对象 

<!-- 配置转换器工厂 --><bean id="dateConverter" class="org.springframework.context.support.ConversionServiceFactoryBean"><!-- 转换器集合 --><property name="converters"><set><!-- 自定义转换器 --><bean class="com.example.converter.DataConverter"></bean></set></property></bean><!-- 使用转换器工厂 --><mvc:annotation-driven conversion-service="dateConverter"></mvc:annotation-driven>

OK,加了上面这些我们再运行测试一遍看看控制能否成功接收 

2.3 测试结果 

 可以看到报的是404错误,没有找到这个页面,而不是400了

OK,控制台也成功打印出来了。 

三、编码过滤器

在传递参数时,tomcat8以上能处理get请求的中文乱码,但不能处理post请求的中文乱码

3.1 JSP表单

<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>专属页面</title>
</head>
<body><form action="/c1/param3" method="post"><table><tr><th>id:</th><td><input name="id"/></td></tr><tr><th>姓名:</th><td><input name="name"/></td></tr><tr><th>性别:</th><td><input name="sex"/></td></tr><tr><th>住址:</th><td><input name="address.info"/></td></tr><tr><th>邮编:</th><td><input name="address.postcode"/></td></tr><tr align="center"><td><input type="submit"/></td></tr></table></form>
</body>
</html>

这里是一个表单提交的页面

3.2 控制器方法

控制器方法我就沿用了之前的,如下: 

    @RequestMapping("c1/param3")public void objParam2(Student student){System.out.println(student);}

3.3 配置过滤器

        SpringMVC提供了处理中文乱码的过滤器,在web.xml中配置该过滤器即可解决中文乱码问题:添加如下配置:

<!-- SpringMVC中提供的字符编码过滤器,放在所有过滤器的最上方 --><filter><filter-name>encFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>utf-8</param-value></init-param></filter><filter-mapping><filter-name>encFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping>

3.4 测试结果 

        提交上述信息,看看控制台打印有没有乱码,如果没有乱码,则说明字符编码过滤器配置成功。 

        OK,说明确实是可以了,并且表单提交的name属性和Student属性对应的话,也是可以直接赋值给对应的参数的。

往期专栏&文章相关导读 

     大家如果对于本期内容有什么不了解的话也可以去看看往期的内容,下面列出了博主往期精心制作的Maven,Mybatis等专栏系列文章,走过路过不要错过哎!如果对您有所帮助的话就点点赞,收藏一下啪。其中Spring专栏有些正在更,所以无法查看,但是当博主全部更完之后就可以看啦。

1. Maven系列专栏文章

Maven系列专栏Maven工程开发
Maven聚合开发【实例详解---5555字】

2. Mybatis系列专栏文章

Mybatis系列专栏MyBatis入门配置
Mybatis入门案例【超详细】
MyBatis配置文件 —— 相关标签详解
Mybatis模糊查询——三种定义参数方法和聚合查询、主键回填
Mybatis动态SQL查询 --(附实战案例--8888个字--88质量分)
Mybatis分页查询——四种传参方式
Mybatis一级缓存和二级缓存(带测试方法)
Mybatis分解式查询
Mybatis关联查询【附实战案例】
MyBatis注解开发---实现增删查改和动态SQL
MyBatis注解开发---实现自定义映射关系和关联查询

3. Spring系列专栏文章 

Spring系列专栏Spring IOC 入门简介【自定义容器实例】
IOC使用Spring实现附实例详解
Spring IOC之对象的创建方式、策略及销毁时机和生命周期且获取方式
Spring DI简介及依赖注入方式和依赖注入类型
Spring IOC相关注解运用——上篇
Spring IOC相关注解运用——下篇
Spring AOP简介及相关案例
注解、原生Spring、SchemaBased三种方式实现AOP【附详细案例】
Spring事务简介及相关案例
Spring 事务管理方案和事务管理器及事务控制的API
Spring 事务的相关配置、传播行为、隔离级别及注解配置声明式事务

4. Spring MVC系列专栏文章

SpringMVC系列专栏Spring MVC简介附入门案例
Spring MVC各种参数获取及获取方式自定义类型转换器和编码过滤器
Spring MVC获取参数和自定义参数类型转换器及编码过滤器
Spring MVC处理响应附案例详解
Spring MVC相关注解运用 —— 上篇

Spring MVC相关注解运用 —— 中篇

Spring MVC相关注解运用 —— 下篇
Spring MVC多种情况下的文件上传
Spring MVC异步上传、跨服务器上传和文件下载
Spring MVC异常处理【单个控制异常处理器、全局异常处理器、自定义异常处理器】
Spring MVC拦截器和跨域请求
SSM整合案例【C站讲解最详细流程的案例】
http://www.yayakq.cn/news/963910/

相关文章:

  • 东莞网站建设流程图网络推广方案的参考文献
  • 手机网站用什么软件做建材网站素材
  • 专门做动漫的网站有哪些永康建设投标网站
  • 汽车服务站建站流程宝安中心网站建设
  • 有多少做汽车的网站外接硬盘做创建立网站
  • app备案查询网站加强网站建设的通知
  • 响应式网站制作工具美食网站设计目的
  • 网站盈利方式wordpress 浮动广告
  • 多域名一个网站备案php兼职平台
  • 网站只做建筑设计自考
  • 山东省住房城乡和建设厅网站百度推广登录入口官网网址
  • 上海html5网站建设兰州财经大学网站开发与维护
  • 化妆品网站建设的策划卓企做的网站怎么样
  • 网站建设规划面试技巧广州市番禺人才网
  • 泰安网站优化推广网络运营者应当为()
  • 丰台网站建设多少钱网站建设在哪里招聘
  • 厦门模板网站wordpress 形式php
  • 网站开发者模式下载视频教程网站开发前台 后台技术
  • 佛山做网站企业net网站建设多少前
  • 中国建设银行网站 纪念币预约高端定制网站设计
  • wix做网站教程竞品分析模板
  • 大连网站开发 选领超科技wordpress canvas
  • 大通证券手机版下载官方网站下载翡翠原石网站首页怎么做
  • 河北网站制作公司哪家好国家级建设网站
  • 网站被黑了你会怎么想你该怎么做沈阳seo排名优化教程
  • 企业网站怎么查企业内部网站制作模板
  • 网站论坛制作微信网站的制作
  • 海南省建设集团有限公司网站wordpress中文书
  • 可以放友情链接的网站自己怎么制作小程序商城
  • 网站设计一般包括网站结构设计绿色食品网站开发步骤