Java Web(九) 用户管理系统

简介: 前面学习了一大堆,什么JSP,Servlet、jstl、el等等等,大多是一些死的东西,只要会其语法,知道怎么用就行了,所以做了一个小小的只有增删改查的小demo,为的就是熟悉这些知识。灵活运用起来。最主要是的开发思想,技术就那么一些,拿到demo需求后,我们该如何下手去做,怎么想,怎么开发的呢?我把我自己写该demo时的思路记录下来。

     前面学习了一大堆,什么JSP,Servlet、jstl、el等等等,大多是一些死的东西,只要会其语法,知道怎么用就行了,所以做了一个小小的只有增删改查的小demo,为的就是熟悉这些知识。灵活运用起来。最主要是的开发思想,技术就那么一些,拿到demo需求后,我们该如何下手去做,怎么想,怎么开发的呢?我把我自己写该demo时的思路记录下来。

                                  --WZY

一、需求分析

    讲过一点,这个非常的简单,就增删改查的运用,

      注册、登录、查询所有用户、查询详情、修改、删除

    有两个权限,

          一个权限是管理员权限,登录进系统后,就能看到所有用户的信息并且能够对所有用户的信息加以修改,删除等操作。

          另一个是普通用户权限,登录进系统,只能看到自己的相关信息,并且可以修改自己的信息(密码等)

    

    主页面模块

        首先进入的就是主页面模块,会进行判断,看用户是否登录(查看cookie中是否有用户的帐号和密码的信息存在,如果有,则直接用该帐号密码进行登录,如果没有则什么都数据都不显示)

        管理员登录进去后看到所有用户信息,能够对其任意用户点击进行详细信息的查看,并且能够修改,删除用户,并且能够有注册功能

        普通用户登录进主页面,只能查看自己的相关信息。能进行修改信息操作。但是没有注册和删除用户的功能。

    登录模块,

        登录会对其进行判断是否是管理员还是普通用户,并且有记住密码的功能,点击了记住密码,那么在下次访问主页面时,就已经登录过了,使用cookie记住帐号密码的功能。

        编写帐号密码时会进行校验(校验帐号密码格式是否合格,这个没做了,有兴趣可以去做做)

        登录模块做的事情很简单,判断帐号密码是否正确,如果正确,那么将跳转到主页面,并将用户信息保存到session中,判断是否记住了密码,如果记住了密码,那么就应该将帐号密码保存到cookie中。判断是否是管理员还是用户。

    注册模块

        这个只有管理员才有权限做这个事情,注册模块,很简单,就是增加用户的操作,只是在注册填写信息的时候,需要做数据校验,限制用户输入一些非法数据,我没做,有闲情的人可以去做做。

    

        

二、技术分析

    三层架构思想

    JSP(jstl、el)

    Servlet(request、response、session/cookie)

    javabean

    JDBC

    MySql

三、编写思路

    1、先将所有的包结构写出来,大体看起来就是三层架构思想。需要导的mysql的jar包也导入进去

            

    2、从dao开始编写,

        成功连接mysql数据库

        将常用的增删改查方法写出来并测试成功

    3、编写service层

        由于此demo太过简单,没有什么业务逻辑,所以这service层,其实也就是调用一下dao层的增删改查方法。

    4、编写web层,一个模块一个模块编写

        主页模块

            用户没登陆,显示如图所示。左上角会显示请登录和主页两个超链接,主页是回到主页面,请登录就是跳到登录页面

               

            普通用户登录后,主页显示如图所示,自己本身的信息会用红色字体标识,并且权限只能是查看自己的详细信息和修改一些信息。左上角,会显示自己的名字,还有注销的功能,注销就是将该用户下线,使用别的帐号进行登录的操作,            

                

            管理员登录后,主页显示如图所示,管理员能看到所有用户的信息,并且能对他们进行修改,删除操作,而对自己并没有删除操作。而且,管理员会有注册用户的功能。                 

      

        注册模块

             这个很简单,但是缺陷就是没有数据校验的功能,只能填写正确的信息,比如不填写某项信息,也不出现什么提示信息。这个非常不好。并且后台会报异常。

                

        登录模块

            这个其实就一个技术,记住密码这里,使用了cookie技术。将帐号密码保存到了cookie上。登录之后就跳转到了主页面显示信息了。

              

       查询模块

           这个就做一个查询用户的详细信息,如果可以的话,自己可以进行扩展,比如通过用户名将该用户名的信息查询出来。使用模糊查询,等等都可以,这里就是最简单的。

              

      修改

            

      删除就直接删除掉了。。

      

        

      

四、总结

     这个小的用户管理,花了我一天的时间,完全自己独立写的,其实如果熟悉业务流程,根本花不了那么长的时间,估计只需要2个小时不到就可以写出来了,虽然只有增删改查几个功能,但是对于新手来说,通过这个来让自己更加熟练的掌握学习到知识还是不错的,用到了很多基础的东西。比如前端显示页面中,标签、el的使用,并且将数据放到session域中,通过el表达式去拿到我们想要的数据,比如在后台,使用cookie保存帐号和密码,比如,请求转发和重定向的使用,比如request域传值,比如,request获取请求参数,比如,前端页面的一些css的使用,比如连接数据库的操作,对数据库进行增删改查的操作,原生的,最古老的写法。真的是非常累,全是重复性代码,但是会知道prepareStatement和Statement的区别是什么,为什么使用prepareStatement而不是Statement呢。最重要的收获是,大大小小的流程让我非常乱,在写主页面时,因为有几个页面都会跳转到主页面来,比如登录页面,登陆完就会跳到主页面来,比如我们直接访问,也会到主页面来,那么这两个就不同了,直接访问到主页面,就要进行cookie中是否用信息的判断,而登录完到主页面,要判断帐号密码是否正确,是不是管理员,该显示多少数据,等等一大堆,我全写在一个LoginServlet中了,导致其中的代码量非常庞大,估计也就只有我能看得懂,哈哈~但是功能流程大概是完成了。能跑起来,达到了预期的效果,唯一不足的就是太乱了,对于流程还不是很清楚,到后面我相信会越来越熟练,写一个登录模块,应该需要哪些功能,进行哪些判断,这些都应该是熟能生巧的事。好好加油把。

 

相关文章
|
12天前
|
监控 Java 测试技术
Java并发编程最佳实践:设计高性能的多线程系统
Java并发编程最佳实践:设计高性能的多线程系统
29 1
|
12天前
|
Rust Java 文件存储
Java系统中的错误码设计问题之通过properties文件管理Error Code如何解决
Java系统中的错误码设计问题之通过properties文件管理Error Code如何解决
25 1
|
12天前
|
安全 搜索推荐 Java
Java系统中的错误码设计问题之确保内外有别并避免暴露敏感数据如何解决
Java系统中的错误码设计问题之确保内外有别并避免暴露敏感数据如何解决
25 0
|
3天前
|
数据采集 Java 数据挖掘
Java IO异常处理:在Web爬虫开发中的实践
Java IO异常处理:在Web爬虫开发中的实践
|
9天前
|
存储 缓存 前端开发
Servlet与JSP在Java Web应用中的性能调优策略
Servlet与JSP在Java Web应用中的性能调优策略
13 1
|
10天前
|
缓存 NoSQL 数据库
Web服务器与数据库优化:提升系统性能的最佳实践
【8月更文第28天】在现代的Web应用中,Web服务器与后端数据库之间的交互是至关重要的部分。优化这些组件及其相互作用可以显著提高系统的响应速度、吞吐量和可扩展性。本文将探讨几种常见的优化策略,并提供一些具体的代码示例。
23 1
|
2天前
|
关系型数据库 Java MySQL
"解锁Java Web传奇之旅:从JDK1.8到Tomcat,再到MariaDB,一场跨越数据库的冒险安装盛宴,挑战你的技术极限!"
【9月更文挑战第6天】在Linux环境下安装JDK 1.8、Tomcat和MariaDB是搭建Java Web应用的关键步骤。本文详细介绍了使用apt-get安装OpenJDK 1.8、下载并配置Tomcat,以及安装和安全设置MariaDB(MySQL的开源分支)的方法。通过这些步骤,您可以快速构建一个稳定、高效的开发和部署环境,并验证各组件是否正确安装和运行。这为您的Java Web应用提供了一个坚实的基础。
9 0
|
7天前
|
Java Maven Android开发
解锁Web开发新技能:从零开始的Struts 2之旅——让你的Java编程之路更加宽广,首个应用实例带你飞!
【8月更文挑战第31天】对于初学者,掌握 Struts 2 框架不仅能提升 Web 开发能力,还能深入了解 MVC 架构。Struts 2 是一个基于 Servlet 的 Java 框架,提供表单验证、文件上传、国际化等功能,便于快速构建易维护的 Web 应用。本文通过示例演示如何从零开始搭建环境并创建一个简单的 Struts 2 项目,包括配置 `struts.xml`、编写 Action 类及视图文件,并配置 web.xml。通过这些步骤,你将学会基本的开发流程,为进一步学习高级功能打下基础。
18 0
|
7天前
|
前端开发 Java UED
JSF遇上Material Design:一场视觉革命,如何让传统Java Web应用焕发新生?
【8月更文挑战第31天】在当前的Web开发领域,用户体验和界面美观性至关重要。Google推出的Material Design凭借其独特的动画、鲜艳的颜色和简洁的布局广受好评。将其应用于JavaServer Faces(JSF)项目,能显著提升应用的现代感和用户交互体验。本文介绍如何通过PrimeFaces等组件库在JSF应用中实现Material Design风格,包括添加依赖、使用组件及响应式布局等步骤,为用户提供美观且功能丰富的界面。
14 0
|
7天前
|
Java 前端开发 Apache
Apache Wicket与Spring MVC等Java Web框架大PK,究竟谁才是你的最佳拍档?点击揭秘!
【8月更文挑战第31天】在Java Web开发领域,众多框架各具特色。Apache Wicket以组件化开发和易用性脱颖而出,提高了代码的可维护性和可读性。相比之下,Spring MVC拥有强大的生态系统,但学习曲线较陡;JSF与Java EE紧密集成,但在性能和灵活性上略逊一筹;Struts2虽成熟,但在RESTful API支持上不足。选择框架时还需考虑社区支持和文档完善程度。希望本文能帮助开发者找到最适合自己的框架。
18 0
下一篇
DDNS