Web开发模式【Mode I 和Mode II的介绍、应用案例】(四)

简介: 笔记

3.2注册功能

//注册功能,外界传递一个User对象进来。我就在XML文档中添加一条信息

   publicvoidregister(Useruser){


   //获取XML文档路径!

   Stringpath=UserImplXML.class.getClassLoader().getResource("user.xml").getPath();

       


       try{

           //获取dom4j的解析器,解析XML文档

           SAXReadersaxReader=newSAXReader();

           Documentdocument=saxReader.read(path);


           //在XML文档中创建新的节点

           ElementnewElement=DocumentHelper.createElement("user");

           newElement.addAttribute("id",String.valueOf(user.getId()));

           newElement.addAttribute("username",user.getUsername());

           newElement.addAttribute("email",user.getEmail());

           newElement.addAttribute("password",user.getPassword());


           //日期返回的是指定格式的日期

           SimpleDateFormatsimpleDateFormat=newSimpleDateFormat("yy-MM-dd");

           Stringdate=simpleDateFormat.format(user.getBirthday());

           newElement.addAttribute("birthday",date);


           //把新创建的节点增加到父节点上

           document.getRootElement().add(newElement);


           //把XML内容中文档的内容写到硬盘文件上

           OutputFormatoutputFormat=OutputFormat.createPrettyPrint();

           outputFormat.setEncoding("UTF-8");

           XMLWriterxmlWriter=newXMLWriter(newFileWriter(path),outputFormat);

           xmlWriter.write(document);

           xmlWriter.close();


       }catch(DocumentExceptione){

           e.printStackTrace();

           thrownewRuntimeException("注册的时候出错了!!!");

       }catch(IOExceptione){

           e.printStackTrace();

           thrownewRuntimeException("注册的时候出错了!!!");

       }

   }

  • 我们也测试一下有没有错误!

@Test

   publicvoidtestRegister(){


       UserImplXMLuserImplXML=newUserImplXML();


       //这里我为了测试的方便,就添加一个带5个参数的构造函数了!

       Useruser=newUser(10,"nihao","123","sina@qq.com",newDate());


       userImplXML.register(user);

   }


  • 注意!测试的结果是在classes目录下的user.xml文件查询的!因为我们是用Test来测试代码,读取XML文件时使用的是类装载器的方法,在编译后,按照WEB的结构目录,XML文件的读写是在WEB-INF的classes目录下的!

60.jpg


  • DAO的实现已经开发完成了,接下来我们就对DAO的实现进行抽取。【当然了,也可以先写DAO再写DAO的实现】

62.jpg


④开发service层


service层的开发就非常简单了!上面已经说了,service层就是:将多个原子性的DAO操作进行组合,组合成一个完整的业务逻辑。简单来说:对web层提供所有的业务服务的

在逻辑代码不是非常复杂的情况下,我们可以没有service层的,这里还是演示一下吧!

publicclassUserServiceXML{

   

       //Service层就是调用Dao层的方法,我们就直接在类中创建Dao层的对象了

       UserDaouserImplXML=newUserImplXML();

   

       publicvoidregister(Useruser){

           userImplXML.register(user);

       }

   

       publicvoidlogin(Stringusername,Stringpassword){

   

           userImplXML.find(username,password);

       }

   }

  • 当然了,为了更好的解耦,也把它抽取成接口

63.jpg



目录
相关文章
|
3月前
|
存储 监控 安全
如何在Python Web开发中确保应用的安全性?
如何在Python Web开发中确保应用的安全性?
|
1月前
|
Web App开发 编解码 vr&ar
使用Web浏览器访问UE应用的最佳实践
在3D/XR应用开发中,尤其是基于UE(虚幻引擎)开发的高精度场景,传统终端因硬件局限难以流畅运行高帧率、复杂效果的三维应用。实时云渲染技术,将渲染任务转移至云端服务器,降低终端硬件要求,确保用户获得流畅体验。具备弹性扩展、优化传输协议、跨平台支持和安全性等优势,适用于多种终端和场景,特别集成像素流送技术,帮助UE开发者实现低代码上云操作,简化部署流程,保留UE引擎的强大开发能力,确保画面精美且终端轻量化。
使用Web浏览器访问UE应用的最佳实践
|
3月前
|
监控 安全 测试技术
如何在实际项目中应用Python Web开发的安全测试知识?
如何在实际项目中应用Python Web开发的安全测试知识?
118 61
|
2月前
|
弹性计算 Java 关系型数据库
Web应用上云经典架构实践教学
Web应用上云经典架构实践教学
Web应用上云经典架构实践教学
|
2月前
|
Kubernetes 安全 Devops
有效抵御网络应用及API威胁,聊聊F5 BIG-IP Next Web应用防火墙
有效抵御网络应用及API威胁,聊聊F5 BIG-IP Next Web应用防火墙
97 10
有效抵御网络应用及API威胁,聊聊F5 BIG-IP Next Web应用防火墙
|
2月前
|
弹性计算 Java 数据库
Web应用上云经典架构实战
本课程详细介绍了Web应用上云的经典架构实战,涵盖前期准备、配置ALB、创建服务器组和监听、验证ECS公网能力、环境配置(JDK、Maven、Node、Git)、下载并运行若依框架、操作第二台ECS以及验证高可用性。通过具体步骤和命令,帮助学员快速掌握云上部署的全流程。
|
3月前
|
前端开发 JavaScript UED
在数字化时代,Web 应用性能优化尤为重要。本文探讨了CSS与HTML在提升Web性能中的关键作用及未来趋势
在数字化时代,Web 应用性能优化尤为重要。本文探讨了CSS与HTML在提升Web性能中的关键作用及未来趋势,包括样式表优化、DOM操作减少、图像优化等技术,并分析了电商网站的具体案例,强调了技术演进对Web性能的深远影响。
58 5
|
3月前
|
机器学习/深度学习 人工智能 JavaScript
JavaScript和TypeScript的未来发展趋势及其在Web开发中的应用前景
本文探讨了JavaScript和TypeScript的未来发展趋势及其在Web开发中的应用前景。JavaScript将注重性能优化、跨平台开发、AI融合及WebAssembly整合;TypeScript则强调与框架整合、强类型检查、前端工程化及WebAssembly的深度结合。两者结合发展,特别是在Vue 3.0中完全采用TypeScript编写,预示着未来的Web开发将更加高效、可靠。
98 4
|
2月前
|
弹性计算 负载均衡 安全
云端问道-Web应用上云经典架构方案教学
本文介绍了企业业务上云的经典架构设计,涵盖用户业务现状及挑战、阿里云业务托管架构设计、方案选型配置及业务初期低门槛使用等内容。通过详细分析现有架构的问题,提出了高可用、安全、可扩展的解决方案,并提供了按量付费的低成本选项,帮助企业在业务初期顺利上云。
|
3月前
|
机器学习/深度学习 数据采集 Docker
Docker容器化实战:构建并部署一个简单的Web应用
Docker容器化实战:构建并部署一个简单的Web应用

热门文章

最新文章