第4章系统设计
一、技术路线:
开发语言:Java
前端技术:JavaScript、VUE.js(2.X)、css3
数据库:MySQL 5.7
数据库管理工具:Navicat或sqlyog
开发工具:IDEA或Ecplise
二、项目介绍:
https://www.bilibili.com/video/BV1MN4y1S7o8/
三、运行截图:
第1章系统实现
1.1数据库访问层的实现
该系统是通过jdbc和Mysql达成连接的,新建一个jdbc.properties文件来填写与数据库连接所需要的驱动和参数。
jdbc.driverClass=com.Mysql.jdbc.Driver
jdbc.url=jdbc:Mysql://localhost:3306/tsi
jdbc.username=root
jdbc.password=123
第一个参数代表Mysql数据库的驱动,第二个参数代表要连接的数据库,第三个和第四个参数代表数据库连接名和密码。
后台与数据库访问主要是通过HQL语句来进行查询的,查询语句中的表名是表格的实体类名,在这种查询语句中*是不允许使用的,除非适合聚合函数一起使用才可以。
1.2注册模块的实现
用户在填写数据的时候必须与注册页面上的验证相匹配否则会注册失败,注册页面的表单验证是通过JavaScript进行验证的,用户名的长度必须在6到18之间,邮箱必须带有@符号,密码和密码确认必须相同,你输入的密码,系统会根据你输入密码的强度给出指定的值,电话号码和身份证号码必须要求输入格式与生活相符合,当你前台验证通过的时候你点击注册,表单会将你输入的值通过name值传递给后台并保存到数据库中。
用户注册流程图如下图所示。

图5-1用户注册流程图
用户注册界面如下图所示。

图5-2用户注册界面
用户注册的关键代码如下。
HashMap ext = new HashMap();
ext.put("issh","否");
new CommDAO().insert(request,response,"yonghuzhuce",ext,true,false,"index.jsp");
%>
1.3登录模块的实现
主要由两部分组成,登录前的登录界面以及登录后的用户功能界面。登录界面,要求用户输入用户名和密码,当用户名和密码其中一个输入为空时,给出提示“用户名,密码不能为空”。获取用户名和密码后到数据库中查找,如果用户名存在,以及对应的密码正确,则登录成功,否则登录失败。登录失败后给出提示,并把焦点停在文本框中。登录成功后将该次会话的全局变量username设置为用户名。登录成功后进入会员的功能模块,主要有会员基本信息修改,已经发布思想道德信息管理,发布信息,和退出功能。退出功能是清除全局变量username的值,并跳回到首页。
登录流程图如下图所示。

图5-4登录流程图
用户登录界面如下图所示。

图5-5用户登录界面
用户登录的关键代码如下。
if(ac.equals("adminlogin"))
{
String username = request.getParameter("username");
String password = request.getParameter("pwd");
String utype = request.getParameter("cx");
String pagerandom = request.getParameter("pagerandom")==null?"":request.getParameter("pagerandom");
String random = (String)request.getSession().getAttribute("random");
if(!pagerandom.equals(random)&&request.getParameter("a")!=null)
{
request.setAttribute("random", "");
go("/login.jsp", request, response);
}
else{
String sql1 = "select * from allusers where username='"+username+"' and pwd='"+password+"' ";
List userlist1 = dao.select(sql1);
if(userlist1.size()==1)
{
request.getSession(). setAttribute("username", userlist1.get(0).get("username"));
request.getSession(). setAttribute("cx", userlist1.get(0).get("cx"));
gor("main.jsp", request, response);
}else{
request.setAttribute("error", "");
go("/login.jsp", request, response);
}
}
}
1.4用户资料修改模块的实现
用户登录/注册成功之后可以修改自己的基本信息。修改页面的表单中每一个input的name值都要与实体类中的参数相匹配,在用户点击修改页面的时候,如果改后用户名与数据库里面重复了,页面会提示该用户名已经存在了,否则通过Id来查询用户,并将用户的信息修改为表单提交的数据。
1.5新闻数据管理模块的实现
如果新闻数据的信息需要修改,管理员可以通过查询新闻数据的基本信息来查询新闻数据,查询新闻数据是通过ajax技术来进行查询的,需要传递新闻数据的标题、编号等参数然后在返回到该页面中,可以选中要修改或删除的那条信息,如果选中了超过一条数据,页面会挑一个窗口提醒只能选择一条数,如果没有选中数据会挑一个窗口题型必须选择一条数据。当选择确认修改的时候,后台会根据传过来的id到数据库查询,并将结果返回到修改页面中,可以在修改页面中修改刚刚选中的信息当点击确认的时候from表单会将修改的数据提交到后台并保存到数据库中,就是说如果提交的数据数据库中存在就修改,否则就保存。
新闻数据展示界面如下图所示。

图5-6新闻数据展示界面
新闻数据管理界面如下图所示。

图5-7新闻数据管理界面
新闻数据发布的关键代码如下。
String lb=request.getParameter("lb");
HashMap ext = new HashMap();
new CommDAO().insert(request,response,"xinwentongzhi",ext,true,false,"xinwentongzhi_add.jsp?lb="+lb);
%>
1.6文体活动提交模块的实现
用户提交文体活动后后台会自动生成文体活动列表。从session中取出该用户信息,前台发起请求,将对应的用户信息、wentihuodongpId参数信息从前台传递WentihuodongController类里,匹配到create()方法,create()方法调用WentihuodongServiceImpl类的createWentihuodong()方法获取数据,调用本类的getCartWentihuodongItem()方法得到文体活动列表。
文体活动提交界面如下所示。

图5-1文体活动提交界面
1.7思想道德管理模块的实现
此页面的关键是编写思想道德信息,包括思想道德编号,名称,详情等。单击提交按钮以完成信息的添加。如果未写入完整的思想道德信息,例如,如果未写入思想道德编号,系统将给出相应的错误提示,并且无法成功输入。数据以概念的形式以onsubmit =“return checkForm()”的形式写入以进行检查,checkForm()函数是一种用于写入数据的不同类型的校对方法,是不是为空也是经过form表单中的onsubmit=”return checkForm()来检查。
管理员点击左侧菜单“思想道德信息管理”,页面跳转到思想道德信息管理外观,调用后台思想道德查询所有思想道德信息。并将信息密封到数据集合List,绑定到请求对象,然后页面跳转到相应的jsp,显示出思想道德信息,单击删除按钮完成思想道德信息的删除。
思想道德管理流程图如下图所示。

图5-17思想道德管理流程图
思想道德添加界面如下图所示。

图5-18思想道德添加界面
思想道德管理界面如下图所示。

图5-19思想道德管理界面
思想道德发布的关键代码如下。
String lb=request.getParameter("lb");
HashMap ext = new HashMap();
new CommDAO().insert(request,response,"xinwentongzhi",ext,true,false,"xinwentongzhi_add.jsp?lb="+lb);
%>
1.8技术修养管理模块的实现
根据需求,需要对技术修养进行添加、删除或修改详情信息。删除或修改技术修养时,系统根据技术修养的状态判定为可删除状态下,才会给出删除和修改链接,点击删除链接按钮时,请求到达后台,还会先查询技术修养状态再次做出判定能否删除。点击修改链接按钮时,会跳转到修改信息的页面,重新填写好数据后,数据提交到后台会对数据库中相应的记录做出修改。
添加技术修养时,会给出数据填写的页面,该页面根据填写好的技术修养编号同样会事先发送Ajax请求查询编号是否已存在,数据填写好之后提交到后台,会调用相关服务在数据库中插入记录。
技术修养管理流程图如下图所示。

图5-20技术修养管理流程图
技术修养添加页面设计效果如下图所示。

图5-21技术修养添加界面
技术修养管理页面效果如下图所示。

图5-22技术修养管理界面
技术修养发布的关键代码如下。
String lb=request.getParameter("lb");
HashMap ext = new HashMap();
new CommDAO().insert(request,response,"xinwentongzhi",ext,true,false,"xinwentongzhi_add.jsp?lb="+lb);
%>

被折叠的 条评论
为什么被折叠?



