曲阜文化建设示范区网站推广策略分析

diannao/2025/10/22 5:23:41/文章来源:
曲阜文化建设示范区网站,推广策略分析,美食网站建设项目规划书,电商ui设计是什么本文是有关Spring 3的系列文章的一部分。该系列的早期文章是使用Spring 3 MVC的Hello World和使用Spring 3 MVC的 Handling Forms 。 现在让我们更深入地研究Spring。 在本文中#xff0c;我们将学习验证从表单中获取的数据。 让我们更仔细地看一下验证任务。 场景1 #xf… 本文是有关Spring 3的系列文章的一部分。该系列的早期文章是使用Spring 3 MVC的Hello World和使用Spring 3 MVC的 Handling Forms 。 现在让我们更深入地研究Spring。 在本文中我们将学习验证从表单中获取的数据。 让我们更仔细地看一下验证任务。 场景1 我们可能需要验证例如所提供的电子邮件确实确实看起来像一封电子邮件以简化的x xx格式显示。 这可以通过仅在电子邮件字段本身上运行一些脚本来完成。 那应该很简单。 我们可以编写一些可在浏览器本身上运行JavaScript。 并且还要在服务器端写相同的验证[为什么 在这里阅读 ]。 对于所有隔离的验证都是如此例如检查数据是否不为空检查数据是否为一定长度等。 场景2 希望生活如此简单。 由于我们正在讨论电子邮件验证因此可以说其中一项验证要求我们检查电子邮件是否属于某些域例如合作伙伴组织以便系统也可以通过电子邮件发送某些特权信息。 假设我们需要检查电子邮件的格式为x partner1.comx partner2.com或xpartner3.com。 可能很琐碎这是无法仅对表单本身的数据进行验证的类型的示例。 无论验证代码是什么它都需要知道哪些域有效。 并且此数据不存在于最终用户以表格形式提供的数据中。 如果您稍微发挥想象力则可以轻松地创建用例其中可能需要业务规则引擎例如规则过于灵活和/或可以引入国际化元素例如所有国家/地区的成年人年龄都未满18岁 或其他复杂性。 这些是非隔离的验证需要访问同步可用的其他信息。 这些验证可以在服务器端和客户端都进行编码尽管可以说它将更多地依赖于服务器端。 场景3 同样希望生活如此简单。 如果我们处于验证电子邮件的主题上我们可能还需要检查电子邮件是否有效即它不是thisemaildoesnot.exist我不确定该电子邮件是否存在-或在其中不存在未来-但您希望我能想到。 我们将需要向该电子邮件ID发送一封电子邮件并可能要求用户单击并确认。 我们需要通过SMTP与其他系统进行异步交互。 同样稍微依靠您的想象力整个潘多拉盒子就会破裂。 很快您将通过RESTSOAPJMS文件服务器进行集成并通过分布式系统处理安全性和身份验证问题。 我敢打赌大多数系统都将在该领域中进行服务器端验证并且客户端验证尽管在技术上是可行的不会经常使用。 方案4 而且我们还没有违反相同的领域对象的问题这些领域对象不仅从基于Web的表单填充而且还从Feed文件JMS消息等填充因此需要将相同的验证逻辑应用于多个渠道。 在本讨论开始时它最初是一个微不足道的小形式带有少量无辜的文本框如今已演变为一个怪物。 幸运的是JSR 303或Bean验证[ 此处 ]可以拯救。 它立即解决了上述情况1和4。 它支持您解决方案2和3。我建议您阅读标有“此标准对用户有何好处”的部分。 它会解决什么问题” 在此链接 。 该Java规范于2006年提出要求并于2009年底发布。 换句话说可用的实现已经有机会在一年中成熟。 作为一流的开源公民Spring 3使您可以使用此标准解决方案而不必重新发明轮子。 而且如果您绝对需要重新发明轮子所有专业应用程序都需要编写myAppSpecificKickAssValidatorSpring也会允许这样做。 让我们一一看看这两种情况。 将JSR 303支持添加到任何基于Maven的项目 JSR 303是一个开放的api。 您可以在此链接中找到它。 任何人都可以实现。 有hibernate和apache bval的实现。 让我们一起进行Hibernate实现。 在此链接中您可以在Maven Central看到他们的罐子。 在撰写本文时最新的稳定版本是4.3.0.Final。 您只需要在pom中添加此依赖项即可。 该实现也捆绑了api因此您无需添加任何一个。 档案pom.xml properties project.build.sourceEncodingUTF-8/project.build.sourceEncoding [...] hibernate.validation.version4.3.0.Final/hibernate.validation.version [...] /properties !-- Hibernate validations -- dependency groupIdorg.hibernate/groupId artifactIdhibernate-validator/artifactId version${hibernate.validation.version}/version /dependency 只需添加此依赖项您就可以进入实体/表单类并声明约束。 JSR 303有一些标准约束 在此处列出 涵盖了NotNull之类的标准检查。 Hibernate添加了一些非标准的自定义约束[ 此处列出 ]。 它们不是标准的但是非常方便例如检查有效的电子邮件。 让我们在ContactFrm.java中介绍这两项检查。 如果您不知道那是从哪里来的那么您很可能没有阅读本系列的上一篇文章即使用Spring 3 MVC处理表单 。 文件/org/academy/ui/spring3/forms/ContactFrm.java package org.academy.ui.spring3.forms; import javax.validation.constraints.NotNull; import org.hibernate.validator.constraints.Email; public class ContactFrm { NotNull private String firstname; private String lastname; Email private String email; private String telephone; // Getter and setters omitted for brevity. [...] } 单元测试 到目前为止我们的ContactFrm bean没有任何功能因此我不费心进行单元测试尽管TDD爱好者会对此表示怀疑。 但是现在仅通过添加几个注释我们就为Bean添加了功能并且可以进行单元测试TDD爱好者可以从现在开始感到高兴。 让我们添加一个单元测试。 文件/src/test/java/org/academy/ui/spring3/forms/ContactFrmTest.java package org.academy.ui.spring3.forms; import static org.junit.Assert.*; import java.util.Set; import javax.validation.ConstraintViolation; import javax.validation.Validation; import javax.validation.Validator; import org.junit.BeforeClass; import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class ContactFrmTest { private final static Logger logger LoggerFactory .getLogger(ContactFrmTest.class); private static Validator validator; BeforeClass public static void init() { validator Validation.buildDefaultValidatorFactory().getValidator(); } Test public void test() { SetConstraintViolationContactFrm errors; ContactFrm contactFrm new ContactFrm(); errors validator.validate(contactFrm); printErrors(errors); // We are expecting 1 error here. // Just the NotNull. assertEquals(1, errors.size()); errors.clear(); contactFrm.setFirstname(partha); errors validator.validate(contactFrm); printErrors(errors); // We are not expecting any errors here. assertEquals(0, errors.size()); errors.clear(); contactFrm.setEmail(this can not be a valid email); errors validator.validate(contactFrm); printErrors(errors); // We are expecting 1 errors here. assertEquals(1, errors.size()); errors.clear(); contactFrm.setEmail(thismightbevalid.email); errors validator.validate(contactFrm); printErrors(errors); // We are not expecting any errors here. assertEquals(0, errors.size()); errors.clear(); } // Utility function to print out errors from validation. private void printErrors(SetConstraintViolationContactFrm errors) { if (errors.size() 0) { for (ConstraintViolationContactFrm error : errors) { logger.debug(error.getMessage()); } } else { logger.debug(There were no errors to print.); } } } 您会发现我不需要使用任何HibernateSpring或JSR特定代码进行单元测试。 它只是一个简单的JUnit。 在我看来只需添加几个批注就可以在POJO上添加验证然后我可以使用标准的单元测试框架进行单元测试而无需进行任何调整这一事实是一个巨大的进步。 我们才刚刚开始。 单元测试–使用Spring功能。 当然可以放心的是我们可以在不依赖Spring的情况下完成完整的验证和单元测试。 但是如果我们不探索在网站上使用Spring将这些功能整合在一起有多么容易我们将完全错过本练习的重点。 首先将所有必需的Spring依赖项添加到我们的项目中并按照上一篇文章中的说明从公共记录中删除它们。 文件/pom.xml dependency groupIdorg.springframework/groupId artifactIdspring-context/artifactId version${org.springframework.version}/version exclusions exclusion groupIdcommons-logging/groupId artifactIdcommons-logging/artifactId /exclusion /exclusions /dependency [...] dependency groupIdorg.springframework/groupId artifactIdspring-test/artifactId version${org.springframework.version}/version scopetest/scope exclusions exclusion groupIdcommons-logging/groupId artifactIdcommons-logging/artifactId /exclusion /exclusions /dependency 现在 如上一篇文章中所述在单元测试中添加RunWith和ContextConfiguration魔术。 文件/src/test/java/org/academy/ui/spring3/forms/ContactFrmTest.java RunWith(SpringJUnit4ClassRunner.class) ContextConfiguration public class ContactFrmTest { private final static Logger logger LoggerFactory .getLogger(ContactFrmTest.class); Autowired private Validator validator; // This is no more required as Spring does it for us. // BeforeClass // public static void init() { // validator Validation.buildDefaultValidatorFactory().getValidator(); // }[省略了其余代码因为它仍然相同。] 现在剩下的就是让我们告诉Spring应该在验证器中自动装配什么。 我们使用配置而不是代码来做到这一点。 文件/src/test/resources/org/academy/ui/spring3/forms/ContactFrmTest-context.xml ?xml version1.0 encodingUTF-8? beans xmlnshttp://www.springframework.org/schema/beans xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xmlns:phttp://www.springframework.org/schema/p xmlns:contexthttp://www.springframework.org/schema/context xsi:schemaLocationhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd bean idvalidator classorg.springframework.validation.beanvalidation.LocalValidatorFactoryBean / /beans 你们都准备好了。 您现在可以使用“ mvn -e clean install”来运行整个代码并对其进行单元测试。 如果您觉得要求太高可以使用“ mvn -e网站”创建一个不错HTML网站该网站将报告代码覆盖率。 JSR 303的主页 Hibernate Validator主页 Hibernate Validation首席开发人员访谈– Emmanuel Bernard Spring关于验证的官方文档 参考我们的JCG合作伙伴 Partho在Tech for Enterprise博客上使用Spring 3 MVC处理表单验证 翻译自: https://www.javacodegeeks.com/2012/08/handling-forms-with-spring-3-mvc.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/91994.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

随州网络推广郑州seo线上推广系统

给您介绍Windows10各大版本之间区别 随着win10的不断普及和推广,越来越多的朋友想安装win10系统了,但是很多朋友不知道win10哪个版本好用,为了让大家能够更好的选择win10系统版本,下面小编就来告诉你 http://os.51cto.com/art/201…

手机网站开发书籍新网站不被收录

关于Galleria示例的先前文章( 第1 部分 | 第2部分 | 第3部分 | 第4部分 )指导您完成基础知识以及对GlassFish和WebLogic的初始部署。 从今天开始,我尝试在其中添加一些企业级功能,因为我发现他们在自己的项目中提出了很多要求。 我…

网站流量提升方法河北斯皮尔网站建设

文件传送协议FTP: File Transfer Protocol 是因特网上使用得最广泛的文件传送协议。提供交互式的访问,允许客户指明文件的类型与格式(如指明是否使用ASCII码),并允许文件具有存取权限(如访问文件的用户必须经过授权&am…

网站后台免费模板下载企业名录搜索软件app

在科技日新月异的今天,人工智能(AI)作为引领未来发展的关键技术,正逐步渗透到社会的每一个角落。百度,作为中国AI领域的领军企业,始终站在技术创新的前沿,不断推出引领行业的重磅产品。今日&…

在线推广企业网站的方法怎么做网站布局

转载链接:http://tech.sina.com.cn/it/w/2001-11-09/91253.shtml 回顾:中网通讯网络公司CEO罗与曾作客新浪嘉宾聊天室 大家好!   主持人 :各位网友,下午好,今天我们请到了中网通讯网络公司首席执行官罗…

wordpress自动下载图片外包优化是什么意思

使用ModelLocator来管理视图 之前只是简单的介绍了一下ModelLocator的用法,在这里要把模型和视图结合起来,通过模型来来控制视图。在Silverlight中我们可以看到所有新建立的xaml都是继承自UserControl,所以在这里更新欢称视图为控件。至此给出…

建网站的公司宁夏高端网站建设

作为算法工程师的你是否对如何应用大型语言模型构建医学问答系统充满好奇?是否希望深入探索LLaMA、ChatGLM等模型的微调技术,进一步优化参数和使用不同微调方式?现在我带大家领略大模型训练与微调进阶之路,拓展您的技术边界&#…

上海电子商城网站制作动易网站官网

原标题:Linux 上如何安装并切换最新版本的 Python 3.6如果你安装了 Linux 系统,正在学习 Python 并想要使用最新的版本的话,那么这篇文章就是为你而写的。-- ShekinPython是 Linux 中一种最流行的编程语言。它被写成了各种工具和库。除此之外…

wordpress程序建站wordpress 模板丢失.

今天跟大家分享我个人感染奥密克戎毒株第二天的经历和感受。早上7点多自然醒来,已经没有四肢乏力的感觉,但是身体的本能还是告诉我不愿意动弹。由于第一天躺着睡了一天,确实是躺得腰酸背疼的。起床量了一下体温36.4正常,决定今天不…

手机怎么做网站免费的建设网站选多大的空间合适

3. Residual Denoising Diffusion Models 该文提出一种残差去噪扩散模型(RDDM)可用去图像生成和图像修复(如去除阴影、去雨、暗光提升等)。该文最大的特点是提出一种双扩散模型,在扩散过程中不仅包含噪声 ϵ \epsilon …

濮阳做网站多少钱制作图片马

1.系统设计 基于STM32单片机的智能家居系统设计与实现的具体任务: (1)可以实现风扇、窗帘、空调、灯光的开关控制; (2)具有语音识别功能,可以通过语音控制家电; (3&a…

wordpress 无法登录电子商务seo是什么

1894. 找到需要补充粉笔的学生编号 一个班级里有 n 个学生,编号为 0 到 n - 1 。每个学生会依次回答问题,编号为 0 的学生先回答,然后是编号为 1 的学生,以此类推,直到编号为 n - 1 的学生,然后老师会重复…

网站百度没收录北京商场skp

概念: 空间复杂度也是一个数学表达式,是对一个算法在运行过程中临时占用存储空间大小的量度 。 空间复杂度不是程序占用了多少bytes的空间,因为这个也没太大意义,所以空间复杂度算的是变量的个数。空间复杂度计算规则基本跟实践复…

淘宝客做网站备注怎么写的wordpress文章图片目录

小程序配置 开发 - 开发管理 - 开发设置-普通链接二维码打开小程序 配置好的截图 如下:二维码规则建议是自己的域名 /mini/ 功能页面 pages/index/index 是为了方便跳转其他页面 记得把校验文件发给后端 web 端处理 二维码格式为:二维码规则/功能页…

如何创建自己公司的网站公司企业网站开发

Flink系列之:Joins 一、Joins二、Regular Joins三、INNER Equi-JOIN四、OUTER Equi-JOIN五、Interval Joins六、Temporal Joins七、事件时间 Temporal Join八、处理时间 Temporal Join九、时态表函数连接十、Lookup Join十一、数组展开十二、表功能 一、Joins 适用…

手机网站 分享按钮wordpress搬家后500

博客主页:Duck Bro 博客主页系列专栏:Qt 专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ Qt常用控件 | 显示类控件 | Calendar Widget的使用及说明 文章编号&am…

外贸必看网站免费ppt模板哪里下载

摘要 系统以单片机STC89C52 芯片作为主控模块,可以对窗帘实现光照度检测、语音识别、 按键手动等智能控制功能。光照度模块采集室外光照度数据上传至单片机,单片机发送控制指令 驱动步进电动机驱动模块,控制步进电动机转动实现窗帘的自动开合,LCD 显示屏显示实时的温 度和时…

泰安专业网站开发公司推广专员

Description 给出两棵 n 结点的有标号树。 每次操作删去第一棵树的一条边,再加上一条边,需要保证此时还是一棵树。 构造一种操作序列,将第一棵树变成第二棵树,使得操作数最小。 n ≤ 51055 \times 10^55105 Solution 显然&…

有域名怎么发布网站吗wordpress如何修复

在本文中,我们将讨论C STL中ratio_equal()函数的工作,语法和示例。什么是ratio_equal模板?ratio_equal模板内置在C STL中,该模板在头文件中定义。ratio_equal用于比较两个比率。该模板接受两个参数,并检查给定的比率…

哪个做企业网站手机参数查询网站

gnd、vcc、clk、miso、rst、mosi、cs 转载于:https://www.cnblogs.com/scrazy/p/7892733.html