人事管理系统为你解剖JSP

前言:

之前写过两篇学习JSP的博客,《Java匹马行天下之JavaWeb核心技术——JSP》https://www.cnblogs.com/zyx110/p/10926587.html ,里面详细解说了学习JSP需要的所有知识点。这几天要给身边的两个朋友讲JSP,翻着看了看之前写的博客,知识虽然很全,但太多了,如果是新手,看着会很枯燥,那个只适合学过一遍后的人回头复习的时候查阅,不适合初学者入门学习,为此,我特意找了一篇人事管理系统案例,通过案例去理解和学习JSP,希望能对一些需要的朋友有所帮助。

案例介绍:

此篇用纯JSP技术,实现了一个完整且简单的人事管理系统,用Map集合模拟数据库的数据存储,有登录,页面跳转,Session存储,修改等知识的应用,我觉得对于初学者,这是再适合不过的案例了,特作此篇,友情奉献,如有欠缺,忘海涵并指正。

案例演示:

案例讲解

以上演示的只是其中的一部分,里面有一些细节,我会在后面讲解的时候细说。

案例结构及案例准备

我用的开发工具是IDEA,如果有不会用IDEA的朋友可以看之前写过的博客《IDEA新手使用教程》https://www.cnblogs.com/zyx110/p/10666082.html,我建的这是一个Maven项目,如果有朋友不知道Maven,可以先看一下我之前写的介绍Maven的博客《Maven》https://www.cnblogs.com/zyx110/p/10619148.html,不知道如何配置Maven环境的可以看《Maven的安装与配置》https://www.cnblogs.com/zyx110/p/10801666.html不知道如何在IDEA中建Maven项目的朋友可以看《IDEA为新手专业打造》https://www.cnblogs.com/zyx110/p/10802098.html,此案例还会用到Tomcat,同样,不会在IDEA中配置Tomcat的朋友可以看《IDEA为新手专业打造》https://www.cnblogs.com/zyx110/p/10802098.html,好,完成这些,就可以开始敲代码了。

实体类

package entity;public class Emp {private String account;//账号private String password;//密码private String email;//邮箱public String getAccount() {return account;}public void setAccount(String account) {this.account = account;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public String getEmail() {return email;}public void setEmail(String email) {this.email = email;}public Emp(String account, String password, String email) {this.account = account;this.password = password;this.email = email;}public Emp() {}
}

  

模拟数据库类

package db;import entity.Emp;import java.util.HashMap;import java.util.Map;public class DBUtil {public static Map<String, Emp> map = new HashMap<String, Emp>();static {map.put("101", new Emp("101", "123456", "101@qq.com"));map.put("102", new Emp("102", "123456", "102@qq.com"));map.put("103", new Emp("103", "123456", "103@qq.com"));map.put("104", new Emp("104", "123456", "104@qq.com"));}public static boolean isAccountAndPassword(Emp emp) {boolean flag = false;for (String key : map.keySet()) {Emp emp1 = map.get(key);if (emp1.getAccount().equals(emp.getAccount()) && emp1.getPassword().equals(emp.getPassword())) {flag = true;break;}}return flag;}}

  

JSP之登录页面(login.jsp)

 
<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head><title>登录页面</title></head><body><h3 align="center">人事管理系统</h3><form action="controller.jsp"><table align="center" border="1px" bgcolor="#ff8c00" width="500px" height="300px"><tr><td align="center">账号:</td><td align="center"><input type="text" name="account"></td></tr><tr><td align="center">密码:</td><td align="center"><input type="password" name="password"></td></tr><tr><td colspan="2" align="center"><input type="submit" value="登录"></td></tr></table></form></body></html>

  

 

JSP之登录判断及数据显示页面(controller.jsp)

<%@ page import="entity.Emp" %><%@ page import="db.DBUtil" %><%@ page import="java.util.Map" %><%@ page contentType="text/html;charset=UTF-8" language="java" errorPage="error.jsp" %><html><head><title>人员判断和显示页面</title></head><body><%//接收登录页面请求的参数String account = request.getParameter("account");String password = request.getParameter("password");Emp emp = new Emp(account,password,null);//判断人员信息boolean flag = DBUtil.isAccountAndPassword(emp);Map<String,Emp> map = DBUtil.map;if (flag){session.setAttribute("account",account);Object o =application.getAttribute("count");if (o==null){application.setAttribute("count",1);}else {int count = Integer.parseInt(o.toString());application.setAttribute("count",count+1);}%><h3 align="right">访问量:<%=application.getAttribute("count")%></h3><h3 align="right">当前账户:<%=session.getAttribute("account")%></h3><table align="center" border="1px" bgcolor="#f5f5dc" width="500px" height="500px"><tr><td align="center">账户</td><td align="center">密码</td><td align="center">邮箱</td><td align="center">修改</td></tr><%for (String key:map.keySet()){Emp emp1 = map.get(key);%><tr><td align="center"><%=emp1.getAccount()%></td><td align="center"><%=emp1.getPassword()%></td><td align="center"><%=emp1.getEmail()%></td><td align="center"><a href="update.jsp?account=<%=emp1.getAccount()%>&password=<%=emp1.getPassword()%>&email=<%=emp1.getEmail()%>">修改</a></td></tr><%}}else {throw new Exception("账号或密码错误");}%></table></body></html>

  

内容解析:

如图所示:

1、Session:主要用于跟踪会话

什么是会话?

会话是代表用户第一次进入当前系统直到退出系统或关闭浏览器,在此期间与服务器的一系列交互。

Session作用域:会话期间

在这是在session对象中存储一些数据,实现信息共享。

2、application对象应用

Application:     提供了关于服务器版本,应用级初始化参数和应用内资源绝对路径方式。是ServletContext类的实例,与应用上下文有关。

Application作用域:web容器的生命周期。

在这用来获取当前系统的访问量。

3、exception:异常对象

在JSP中如果一个页面中出现了错误,可以交由另外一个页面处理。在此页面中指定一个错误处理的页面errorPage=”error.jsp”,然后新建一个error.jsp的页面,如下:

<%@ page contentType="text/html;charset=UTF-8" language="java" isErrorPage="true" %><html><head><title>报错页面</title></head><body><%=exception.getMessage()%></body></html>

  

在此指定为错误页面。

JSP之修改页面(update.jsp)

<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head><title>修改人员信息页面</title></head><body><h3 align="right">当前账户:<%=session.getAttribute("account")%></h3><form action="update_controller.jsp"><table align="center" border="1px" bgcolor="#ff8c00"><tr><td>账号</td><td><input type="text" name="account" value="<%=request.getParameter("account")%>"></td></tr><tr><td>密码</td><td><input type="text" name="password" value="<%=request.getParameter("password")%>"></td></tr><tr><td>邮箱</td><td><input type="text" name="email" value="<%=request.getParameter("email")%>"></td></tr><tr><td colspan="2"><input type="submit" value="提交"></td></tr></table></form></body></html>

  

JSP之修改成功并显示页面(update_controller.jsp)

<%@ page import="java.util.Map" %><%@ page import="entity.Emp" %><%@ page import="db.DBUtil" %><%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head><title>修改控制页面</title></head><body><%Map<String, Emp> map = DBUtil.map;Emp emp = map.get(request.getParameter("account"));emp.setPassword(request.getParameter("password"));emp.setEmail(request.getParameter("email"));%><h3 align="right">当前账户:<%=session.getAttribute("account")%></h3><h3 align="center">信息修改成功</h3><form action=""><table align="center" border="1px" bgcolor="#ff8c00" width="500px" height="500px"><tr><td>账户</td><td>密码</td><td>邮箱</td><td>修改</td></tr><%Map<String,Emp> map1 = DBUtil.map;for (String key:map1.keySet()){Emp emp1 = map1.get(key);%><tr><td><%=emp1.getAccount()%></td><td><%=emp1.getPassword()%></td><td><%=emp1.getEmail()%></td><td><a href="update.jsp?account=<%=emp1.getAccount()%>&password=<%=emp1.getPassword()%>&email=<%=emp1.getEmail()%>">修改</a></td></tr><%}%></table></form></body></html>

  

案例总结

其实总结这篇博客,虽然案例看着很简单,但我觉得这里面透露着一种学习方法,通过案例去学习知识,有思维有逻辑,适合的才是最好的,避免你在学习迷茫的过程中乱冲乱撞,做一些无用功。到此案例结束,如果想系统学习JSP,就去我的博客园看《Java匹马行天下之JavaWeb核心技术——JSP》,“https://www.cnblogs.com/zyx110/p/10926587.html” 更多精彩等你学习,记住,“越懂得分享,你的价值增值越大”。

*****************************************************************************************************

我的博客园地址:https://www.cnblogs.com/zyx110/

转载请说明出处

我不能保证我所说的都是对的,但我能保证每一篇都是用心去写的,我始终认同“分享的越多,你的价值增值越大”,欢迎大家关注我的技术分享“Java匹马行天下”和学习心得分享“匹马行天下”,在分享中进步,越努力越幸运,期待我们都有美好的明天!

支持我的朋友们记得点波推荐哦,您的肯定就是我进步的动力。

转载于:https://www.cnblogs.com/zyx110/p/11227837.html

人事管理系统为你解剖JSP相关推荐

  1. java高校人事管理系统源码_基于jsp的某高校人事管理系统-JavaEE实现某高校人事管理系统 - java项目源码...

    基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的某高校人事管理系统, 该项目可用各类java课程设计大作业中, 某高校人事管理系统的系统架构分为前后台两部分, 最 ...

  2. java计算机毕业设计高校人事管理系统源码+mysql数据库+系统+lw文档+部署

    java计算机毕业设计高校人事管理系统源码+mysql数据库+系统+lw文档+部署 java计算机毕业设计高校人事管理系统源码+mysql数据库+系统+lw文档+部署 本源码技术栈: 项目架构:B/S ...

  3. 企业管理系统java web_JavaWeb 基于 web的 企业人事管理系统 Jsp/Servlet 242万源代码下载- www.pudn.com...

    文件名称: JavaWeb下载  收藏√  [ 5  4  3  2  1 ] 开发工具: Java 文件大小: 8310 KB 上传时间: 2015-07-16 下载次数: 0 提 供 者: 汪伟棋 ...

  4. jsp人事管理系统_Jsp+Ssm+Mysql实现的医院人事管理系统源码附带视频运行教程

    项目地址: jsp+ssm+mysql实现的医院人事管理系统源码附带视频运行教程|猿来入此[beta]多用户版IT项目教程源码分享网站​www.yuanlrc.com 今天给大家演示的是一款由jsp+ ...

  5. 【毕设】jsp+基于JB的人事管理系统(源代码+论文)

    文章目录 目录 系统设计 系统实现 源文件 目录 系统设计 3.1 需求分析 通过调查,根据人事管理的基本需求,要求系统需要完成以下功能: 详细的企业的员工信息管理: 企业员工奖惩信息管理: 企业员工 ...

  6. jsp人事管理系统_人事管理系统(论文+源码)(SSH+MYSQL+JSP+HTML5)

    本文介绍了一款基于 Java平台的人事管理系统的开发过程,从发展现状.可行性研究.需求及功能进行了分析,从而对系统框架.数据库和数据结构进行合理的规划,最后做出展示并对各个功能进行测试,总结了开发过程 ...

  7. java毕业设计——基于JSP+sqlserver的人事管理系统设计与实现(毕业论文+程序源码)——人事管理系统

    基于JSP+sqlserver的人事管理系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于JSP+sqlserver的人事管理系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦 ...

  8. Java毕设项目——人事管理系统(java+SSM+Maven+Mysql+Jsp)

    文末获取源码 开发语言:Java 框架:SSM 技术:Jsp JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7/8.0 数据库工具:Navicat11 开发软件:eclip ...

  9. 管理系统mysql论文_人事管理系统(论文+源码)(SSH+MYSQL+JSP+HTML5)

    本文介绍了一款基于 Java平台的人事管理系统的开发过程,从发展现状.可行性研究.需求及功能进行了分析,从而对系统框架.数据库和数据结构进行合理的规划,最后做出展示并对各个功能进行测试,总结了开发过程 ...

最新文章

  1. java params 参数_将params作为参数传递给类扩展方法的函数
  2. Oracle在linux下使用小技巧
  3. python可以处理哪些文件_python文件处理
  4. 中国智慧城市前瞻及开发运营可行性分析报告2022-2027年版
  5. 敏友的【敏捷个人】有感(3): 有感于“敏捷个人”讨论与练习
  6. zoj How Many Shortest Path
  7. solr部署在tomcat下
  8. python cx_Oracle连接Oracle数据库查询
  9. Galaxy Note 20新爆料:至少有两款机型,处理器高低配
  10. Git学习总结(19)——Git代码回滚总结
  11. 递归遍历文件及子文件夹下的文件(该代码是复制过来修改过的,如果有侵作者权的话,请作者联系我,立即删除)...
  12. ‘adb‘ 不是内部或外部命令and Error while executing: am start -n解决
  13. asp.net多语言设置方法
  14. web前端入门笔记:JSON
  15. mybatis 主从表关联查询封装返回结果
  16. Python Web 框架-Django day07
  17. 【计算机系统】ICS大作业论文-程序人生-Hello’s P2P
  18. 网格环境配置(三):安装SGE
  19. 智慧园区渠道商分销系统开发:打通全渠道信息流,驱动管理数字化透明
  20. linear-gradient 实现切角效果

热门文章

  1. 关于WindowsPE的DIY和黑科技
  2. java访问权限修饰符从大到小_程序员的术与道:道——Java修饰符之非访问控制修饰符...
  3. 202012没有oracle加密,Windows2012远程桌面提示"这可能是由于 CredSSP 加密 Oracle 修正" 修复方法...
  4. 计算机恢复语言文件格式,当你的电脑无故变成英文且语言包丢失后用这几招恢复-win7语言包...
  5. 北风网ajax,[T8:JavaScript中利用Ajax实现客户端与服务器端通信北风网收费视频讲座.ppt...
  6. java ajax文字搜素,JAVA-WEB AJAX 搜索条自动提示
  7. 字符串(如何输入一行带有空格的字符串)
  8. 根据需求增加或删除表格行
  9. jquery选择器之基本选择器
  10. LeetCode解题思路—双指针模式