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

网站开发网页asp网站服务建设论文

网站开发网页,asp网站服务建设论文,网站开发 协作平台,wordpress搬家 图片不显示这篇文章包含spring mvc的默认数据类型绑定和简单数据类型绑定。内容来自实验。 准备#xff1a; #xff08;1#xff09;在IDEA环境中从archetye创建webapp类型的maven项目exp6。 #xff08;2#xff09;在src\main目录下创建并标注java源代码文件夹和resources资源文…这篇文章包含spring mvc的默认数据类型绑定和简单数据类型绑定。内容来自实验。 准备 1在IDEA环境中从archetye创建webapp类型的maven项目exp6。 2在src\main目录下创建并标注java源代码文件夹和resources资源文件夹。 3在pom.xml文件中添加Spring MVC的相关依赖。 !-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc --dependencygroupIdorg.springframework/groupIdartifactIdspring-webmvc/artifactIdversion5.2.5.RELEASE/version/dependency!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api --dependencygroupIdjavax.servlet/groupIdartifactIdjavax.servlet-api/artifactIdversion3.1.0/versionscopeprovided/scope/dependency!-- https://mvnrepository.com/artifact/org.springframework/spring-context --dependencygroupIdorg.springframework/groupIdartifactIdspring-context/artifactIdversion5.2.8.RELEASE/version/dependency4在resources文件夹下创建配置文件spring-mvc.xml并完成相关配置。 ?xml version1.0 encodingUTF-8? beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexmlns:contexthttp://www.springframework.org/schema/contextxmlns:mvchttp://www.springframework.org/schema/mvcxsi:schemaLocationhttp://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttps://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc https://www.springframework.org/schema/mvc/spring-mvc.xsd!-- 配置创建 springMVC 容器要扫描的包 --context:component-scan base-packagecom.itheima.controller/context:component-scan!-- 配置视图解析器 --bean classorg.springframework.web.servlet.view.InternalResourceViewResolverproperty nameprefix value/WEB-INF/pages//property namesuffix value.jsp//bean /beans5配置web.xml文件。 ?xml version1.0 encodingUTF-8? web-appdisplay-nameArchetype Created Web Application/display-nameservletservlet-nameDispatcherServlet/servlet-nameservlet-classorg.springframework.web.servlet.DispatcherServlet/servlet-class!-- 配置初始化参数读取Spring MVC的配置文件 --init-paramparam-namecontextConfigLocation/param-nameparam-valueclasspath:spring-mvc.xml/param-value/init-paramload-on-startup1/load-on-startup/servletservlet-mappingservlet-nameDispatcherServlet/servlet-nameurl-pattern//url-pattern/servlet-mapping /web-app6配置Maven启动项。在pom.xml文件中引入tomcat插件 plugingroupIdorg.apache.tomcat.maven/groupIdartifactIdtomcat7-maven-plugin/artifactIdversion2.2/versionconfigurationport8080/portpath/exp6/path/configuration/plugin添加Maven启动项使用命令tomcat7:run启动应用程序。 项目目录结构如下 数据绑定 1.默认数据类型绑定 在src\main\java文件夹下创建com.itheima.controller的类包在类包中创建UserController类在UserController类中定义方法getUserId( )用于获取客户端请求中userid参数的值。 import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping;import javax.servlet.http.HttpServletRequest;Controller public class UserController {RequestMapping(/getUserId)public void getUserId(HttpServletRequest request){String userid request.getParameter(userid);System.out.println(useriduserid);} }启动项目后访问地址http://localhost:8080/exp6/getUserId?userid2控制台打印userid信息如下 2.简单数据类型绑定 1在UserController类中新增getUserNameAndId( )方法用来接收客户端请求中的用户名和id参数。 RequestMapping(/getUserNameAndId)public void getUserNameAndId(String username,Integer id) {System.out.println(usernameusername, idid);}访问地址http://localhost:8080/exp6/getUserNameAndId?usernameSpringid1运行结果如下 2RequestParam注解来定义参数的别名完成请求参数名称和处理器的形参名称不一致时的数据绑定。在UserController类中新增getUserName ( )方法给username形参定义了别名name同时设定了请求的name参数不是必须的访问没携带name参数时会将defaultValue属性设定的值赋给形参username。 RequestMapping(/getUserName)public void getUserName(RequestParam(valuename, required false,defaultValue itheima) String username){System.out.println(usernameusername);}访问http://localhost:8080/exp6/getUserName?nameSpring运行结果如下 3使用PathVariable注解将URL中占位符参数绑定到处理器的形参中。在UserController类中新增getPathVariable( )方法 value属性将占位符参数“name”和处理方法的参数username进行绑定。 RequestMapping(/user/{name})public void getPathVariable(PathVariable(value name) String username){System.out.println(usernameusername);}4POJO绑定POJO类型的数据绑定就是将所有关联的请求参数封装在一个POJO中然后在方法中直接使用该POJO作为形参来完成数据绑定。 在src\main\java目录下创建一个com.itheima.pojo包在该包下创建一个User类封装用户信息。 public class User {private String username; //用户名private String password; //用户密码public String getUsername() {return username;}public void setUsername(String username) {this.username username;}public String getPassword() {return password;}public void setPassword(String password) {this.password password;} }在UserController.java类中定义registerUser( )方法用于接收用户注册信息。 // 接收表单用户信息RequestMapping(/registerUser)public void registerUser(User user) {String username user.getUsername();String password user.getPassword();System.out.println(usernameusername,passwordpassword);}在src\main\webapp目录下创建register.jsp文件编写用户注册表单。 % page languagejava importjava.util.* pageEncodingUTF-8% html headmeta http-equivContent-Type contenttext/html;charsetUTF-8title注册/title /head body form action${pageContext.request.contextPath}/registerUser methodpost用户名input typetext nameusername /br /密nbsp;nbsp;nbsp;码input typepassword namepassword /br /input typesubmit value注册/ /form /body /html启动后访问地址http://localhost:8080/exp6/register.jsp结果如下 分别填写注册的用户名和密码点击“注册”按钮完成数据的提交控制台打印信息 注输入的用户名为中文时控制台打印信息可能会出现乱码可以使用Spring提供的编码过滤器来统一编码只需要在web.xml中添加如下代码 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-mapping5自定义类型转换器Spring MVC默认提供了一些常用的类型转换器然而默认类型转换器并不能将提交的参数转换为所有的类型。此时需要开发者自定义类型转换器来将参数转换为程序所需要的类型。 ①下面演示自定义类型转换器转换特殊数据类型并完成数据绑定实现Date类型的数据绑定。 在项目src\main\java目录下创建一个com.itheima.convert包在该包下创建日期转换类DateConverter并在DateConverter类中定义convert()方法 实现String类型转到Date类型的转换。 import org.springframework.core.convert.converter.Converter;import java.text.SimpleDateFormat; import java.util.Date;public class DateConverter implements ConverterString, Date {private String datePattern yyyy-MM-dd;//定义日期格式Overridepublic Date convert(String source) {SimpleDateFormat sdf new SimpleDateFormat(datePattern);try {return sdf.parse(source);} catch (Exception e) {throw new IllegalArgumentException(无效的日期格式请使用这种格式:datePattern);}} }还需要在配置文件spring-mvc.xml中配置类型转换器。 !-- 配置类型转换器工厂 --bean idconverterService classorg.springframework.context.support.ConversionServiceFactoryBean!-- 给工厂注入一个新的类型转换器配置自定义类型转换器 --property nameconvertersarraybean classcom.itheima.convert.DateConverter//array/property/beanmvc:annotation-driven conversion-serviceconverterService/在UserController.java类中定义方法getBirthday()用于绑定客户端请求中的日期数据。 /*** 使用自定义类型数据绑定日期数据*/RequestMapping(/getBirthday)public void getBirthday(Date birthday) {System.out.println(birthdaybirthday);}启动后访问地址http://localhost:8080/exp6/getBirthday?birthday2020-11-11控制台打印信息 ②上述方法中日期类型的格式转换是基于XML配置自定义转换器实现的。除了XML方式之外还可以通过DateTimeFormat注解来简化日期类型的格式转换无需自定义转换器也无需在配置文件中定义转换器工厂或格式化工厂。 将上述在spring-mvc.xml中配置的转换器工厂和自定义类型转换器都删除由于注解方式的类型转换依赖注解驱动的支持配置文件中必须显式定义mvc:annotation-driven元素此时spring-mvc.xml中的代码如下 ?xml version1.0 encodingUTF-8? beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexmlns:contexthttp://www.springframework.org/schema/contextxmlns:mvchttp://www.springframework.org/schema/mvcxsi:schemaLocationhttp://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttps://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc https://www.springframework.org/schema/mvc/spring-mvc.xsd!-- 配置创建 springMVC 容器要扫描的包 --context:component-scan base-packagecom.itheima.controller/context:component-scan!-- 配置视图解析器 --bean classorg.springframework.web.servlet.view.InternalResourceViewResolverproperty nameprefix value/WEB-INF/pages//property namesuffix value.jsp//bean!-- 配置注解驱动 --mvc:annotation-driven / /beans修改UserController.java类中getBirthday()方法修改后的具体代码如下。 /*** 使用DateTimeFormat注解绑定日期数据*/RequestMapping(/getBirthday)public void getBirthday(DateTimeFormat(pattern yyyy-MM-dd)Date birthday) {System.out.println(birthdaybirthday);}启动项目访问http://localhost:8080/exp6/getBirthday?birthday2020-11-11控制台打印信息 复杂数据类型绑定下次再写。 加油加油^_^
http://www.laogonggong.com/news/137154.html

相关文章:

  • 网站界面设计要求企业品牌营销策略
  • 网站负责人核验现场拍摄照片石家庄坤鹏企业管理咨询有限公司
  • 网站功能描述书须包含哪些内容校园网站建设的论文
  • 网站建设 食品分析网站的关键词
  • 网站可以做动画轮播吗网站工信部备案号
  • c可以做网站么南京网站设计案例
  • 郑州网站建设流程上饶市建设厅网站
  • 基本的网站开发技术路线网站制作的收费
  • 网站建设公司做销售前景好不好?龙信建设集团有限公司网站
  • 医生做学分在哪个网站wordpress免费企模板
  • 网站改版十网页视频怎么下载到本地手机
  • 青岛网站建设在哪wordpress媒体库一直加载
  • app是什么软件优化大师怎么下载
  • 做招聘网站的风投西宁网站建设哪家好
  • 关于网站开发的需求文档免费发布信息的网站
  • 石家庄装修公司排名seo专业优化方法
  • 购物网站开发的业务需求分析江苏建设银行网站
  • 专业网站开发费用淘宝网店制作
  • 做网站要注意写作网站vir
  • 网站建设经费管理多功能响应式wordpress主题
  • 大赛网站开发需求合肥做百度网站
  • 国内做企业英文网站用什么cms小百姓网免费发布信息网
  • 网站制作月薪多少wordpress 3.9.2 漏洞
  • 网站界面可以做版权吗东莞网站推广模式
  • 网站建设人员分布克隆网站模板
  • 太原站还建综合楼专业团队广告语
  • 县工商局 网站建设手机网站meta
  • 网站认证打的钱怎么做分录深圳市住建局官网公示
  • 网站建设需要自备什么昆明招聘网站建设普工小工
  • 源码分享平台河北seo搜索引擎优化