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

简介: 笔记

⑤开发web层

5.1我们来先做注册的界面吧!


  • 提供注册界面的Servlet

publicclassRegisterUIServletextendsjavax.servlet.http.HttpServlet{

       protectedvoiddoPost(javax.servlet.http.HttpServletRequestrequest,javax.servlet.http.HttpServletResponseresponse)throwsjavax.servlet.ServletException,IOException{

   

           //直接跳转到显示注册界面的JSP

           request.getRequestDispatcher("/WEB-INF/register.jsp").forward(request,response);

   

       }

   

       protectedvoiddoGet(javax.servlet.http.HttpServletRequestrequest,javax.servlet.http.HttpServletResponseresponse)throwsjavax.servlet.ServletException,IOException{

   

           this.doPost(request,response);

       }

   }


  • 开发注册界面的JSP

<h1>欢迎来到注册界面!</h1>


<%--提交给处理注册的处理Servlet--%>


<formmethod="post"action="${pageContext.request.contextPath}/RegisterServlet">


   <table>

       <%--对于id来讲是服务器分配的不需要用户自己输入--%>

       <tr>

           <td>用户名</td>

           <td>

               <inputtype="text "name="username">

           </td>

       </tr>

       <tr>

           <td>密码</td>

           <td>

               <inputtype="text"name="password">

           </td>

       </tr>

       <tr>

           <td>确认密码</td>

           <td>

               <inputtype="text"name="password">

           </td>

       </tr>

       <tr>

           <td>邮箱</td>

           <td>

               <inputtype="text"name="email">

           </td>

       </tr>

       <tr>

           <td>生日</td>

           <td>

               <inputtype="text "name="birethday">

           </td>

       </tr>

       <tr>

           <td>

               <inputtype="submit"value="提交">

           </td>

           <td>

               <inputtype="reset"value="重置!">

           </td>

       </tr>

   </table>

</form>


  • JSP页面是这样子的

65.jpg

  • 接下来,我们要开发处理用户注册提交的Servlet

//首先要接受Parameter的参数,封装到User里面去

       Stringusername=request.getParameter("username");

       Stringpassword=request.getParameter("password");


       //......如果参数过多,我们就要写好多好多类似的代码了...


  • 此时,我们应该想起反射机制中的BeanUtils开发包..为了更好地重用,我就将它写成一个工具类

/*

   * 将Parameter参数的数据封装到Bean中,为了外边不用强转,这里就使用泛型了!

   *

   * @request   由于要获取的是Parameter参数的信息,所以需要有request对象

   * @tClass    本身是不知道封装什么对象的,所以用class

   *

   * */


   publicstatic<T>Trequest2Bean(HttpServletRequesthttpServletRequest,Class<T>tClass){


       try{


           //创建tClass的对象

           Tbean=tClass.newInstance();


           //获取得到Parameter中全部的参数的名字

           Enumerationenumeration=httpServletRequest.getParameterNames();


           //遍历上边获取得到的集合

           while(enumeration.hasMoreElements()){


               //获取得到每一个带过来参数的名字

               Stringname=(String)enumeration.nextElement();


               //获取得到值

               Stringvalue=httpServletRequest.getParameter(name);


               //把数据封装到Bean对象中

               BeanUtils.setProperty(bean,name,value);

           }

           returnbean;

       }catch(Exceptione){

           e.printStackTrace();

           thrownewRuntimeException("封装数据到Bean对象中出错了!");

       }

   }


  • 经过我们测试,日期不能直接封装到Bean对象中,会直接报出异常

66.jpg

目录
相关文章
|
11天前
|
搜索推荐 前端开发 数据可视化
【优秀python web毕设案例】基于协同过滤算法的酒店推荐系统,django框架+bootstrap前端+echarts可视化,有后台有爬虫
本文介绍了一个基于Django框架、协同过滤算法、ECharts数据可视化以及Bootstrap前端技术的酒店推荐系统,该系统通过用户行为分析和推荐算法优化,提供个性化的酒店推荐和直观的数据展示,以提升用户体验。
|
2天前
|
人工智能 自然语言处理 搜索推荐
【人工智能】人工智能(AI)、Web 3.0和元宇宙三者联系、应用及未来发展趋势的详细分析
人工智能(AI)、Web 3.0和元宇宙作为当前科技领域的热门话题,它们之间存在着紧密的联系,并在各自领域内展现出广泛的应用和未来的发展趋势。以下是对这三者联系、应用及未来发展趋势的详细分析
10 2
【人工智能】人工智能(AI)、Web 3.0和元宇宙三者联系、应用及未来发展趋势的详细分析
|
3天前
|
人工智能 前端开发 开发工具
NET在企业级应用、Web开发、移动应用、云服务及游戏领域的创新实践
.NET技术自2000年推出以来,在软件开发领域扮演着关键角色。本文从核心优势出发,探讨其统一多语言平台、强大工具集、跨平台能力及丰富生态系统的价值;随后介绍.NET在企业级应用、Web开发、移动应用、云服务及游戏领域的创新实践;最后分析性能优化、容器化、AI集成等方面的挑战与机遇,展望.NET技术的未来发展与潜力。
10 2
|
10天前
|
jenkins 持续交付 开发工具
"引爆效率革命!Docker+Jenkins+GIT+Tomcat:解锁持续集成魔法,一键部署Java Web应用的梦幻之旅!"
【8月更文挑战第9天】随着软件开发复杂度的增加,自动化变得至关重要。本文通过实例展示如何结合Docker、Jenkins、Git与Tomcat建立高效的持续集成(CI)流程。Docker确保应用环境一致性;Jenkins自动化处理构建、测试和部署;Git管理源代码版本;Tomcat部署Web应用。在Jenkins中配置Git插件并设置项目,集成Docker构建Tomcat应用镜像并运行容器。此外,通过自动化测试、代码质量检查、环境隔离和日志监控确保CI流程顺畅,从而显著提高开发效率和软件质量。
30 3
|
11天前
|
缓存 监控 前端开发
构建高性能Web应用的最佳实践
【8月更文挑战第8天】构建高性能的Web应用需要综合考虑多个方面,包括选择合适的技术栈、优化后端和前端性能、以及进行性能测试和监控。通过遵循这些最佳实践,开发者可以构建出高效、可扩展且用户友好的Web应用,提升用户体验和业务价值。
|
15天前
|
监控 物联网 数据挖掘
PHP不仅在Web开发领域有着广泛的应用,其在服务器端的应用也非常重要
【8月更文挑战第4天】PHP不仅在Web开发领域有着广泛的应用,其在服务器端的应用也非常重要
31 8
|
24天前
|
SQL 安全 数据库
构建安全的Python Web应用是一项持续的努力,需要开发者时刻保持警惕,并采用最佳实践来预防各种安全威胁
【7月更文挑战第26天】构建安全的Python Web应用是一项持续的努力,需要开发者时刻保持警惕,并采用最佳实践来预防各种安全威胁
45 9
|
2天前
|
存储 NoSQL 关系型数据库
Web中的数据库:原理、应用与代码实现
Web中的数据库:原理、应用与代码实现
|
4天前
|
开发框架 .NET API
如何在 ASP.NET Core Web Api 项目中应用 NLog 写日志?
如何在 ASP.NET Core Web Api 项目中应用 NLog 写日志?
|
4天前
|
应用服务中间件
2022年最新最详细在IDEA中配置Tomcat(含有详细图解过程)、建立使用IEDA建立一个Web项目的案例
这篇文章提供了在IntelliJ IDEA中配置Tomcat服务器的详细步骤,包括添加Tomcat Server、选择安装路径、添加项目Artifact,以及创建和展示Web项目的流程。