计算机毕业设计 ssm非处方药品推荐系统 毕设

本文详细描述了一款基于Java的系统设计,涉及前端技术(JavaScript和VUE.js)、数据库(MySQL5.7)以及用户登录、注册、管理员管理和非处方药查询等功能的实现过程,展示了关键模块的逻辑代码和界面设计。

第4章系统设计

一、技术路线:

开发语言:Java

前端技术:JavaScript、VUE.js(2.X)、css3

数据库:MySQL 5.7

数据库管理工具:Navicat或sqlyog

开发工具:IDEA或Ecplise

二、项目介绍:

https://www.bilibili.com/video/BV1vQ4y1b7wV/

三、运行截图:


第1章系统实现

1.1登录模块的实现

该登录模块利用js进行设计,JavaScript函数CheckSubmit()对输入框是否为空进行验证,使用js的技术结合Mysql 2012数据库的查询语句进行登录信息的验证。首先从文本框中分别获得账号user_name和密码user_pw,使用Sql语句“select * from t_user where user_name=‘”+user_name+“’ and user_pw=‘”+user_pw+“’”将查询结果赋给rs结果集,若rs.next()返回值为空,表示数据库找不到该用户数据,若rs.next()返回值不为空,则显示登录成功,进入主界面。

用户登录流程图如下所示。

b3c355f420c518ae132ae61fd78dca4d.jpeg

图5-1用户登录流程

用户登录流程:用户只有输入正确的用户名和密码才会成功进入系统,用户输入用户名密码后点击登录按钮,系统会进行校验该用户名是否存在,如果用户名与密码不匹配或者用户名不存在,则返回主界面。

系统登录界面如下图所示。

1641a2019aa3c71588c570991c70a5b1.jpeg

图5-2系统登录界面

登录功能的逻辑代码如下所示。

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.2用户子系统模块的实现

1.2.1用户首页模块

在浏览器的地址栏里输入http://localhost:8080/index.jsp 地址,就可以跳转到非处方药品推荐系统的首页,首页是由4个页面组成的,包括top、left、down和center等页面,这里也是浏览者访问系统的入口,通过@ include引入。

首页载入流程图如下所示。

c406d42188e4ad4b34fde7e9be99b8d0.jpeg

图5-3首页载入流程

首页载入流程:系统先连接数据库,显示界面参数初始化,读取数据库的数据表,读取html显示模板,对数据按添加时间排序,按照模板设计位置显示数据,刷新显示界面,断开数据库连接。

首页如下图所示。

4bb6c7334320600fe704f06ee2c1d8d4.jpeg

图5-4首页界面

其中载入首页的主要代码如下。

1.2.2用户注册模块

系统的用户通过自行注册生成,在系统首页点击用户注册菜单,系统跳转到对应的注册页面。点击重置按钮,清空所填数据,点击注册按钮完成注册。

用户注册流程图如下所示。

d51b9ce16b5b41638275fd971b07b4d3.jpeg

图5-5用户注册流程

注册个人信息实现流程为:填写个人信息,系统使用JQuery选择器获取在网页中输入的注册信息,再对联系方式、登录密码等信息进行验证,验证通过后用Ajax异步请求方式向服务器发送请求并把数据传送到后台,然后验证用户名是否已存在,如果已存在则注册失败提示“用户名已存在”;如果用户表中没有该用户名则把用户信息加入数据库,把操作状态以json字符串方式返回到前台。Ajax请求成功接收到返回的数据时会触发成功回调函数,然后解析返回的json字符串,系统根据返回信息弹出提示框,注册成功后返回登录页。

用户注册界面如下图所示。

5df95ddce1a867fb68b87f37885e052e.jpeg

图5-6用户注册界面

用户注册页面的逻辑代码如下。

HashMap ext = new HashMap();

ext.put("issh","否");

new CommDAO().insert(request,response,"yonghuzhuce",ext,true,false,"index.jsp");

%>

1.2.3非处方药查询模块

管理员发布非处方药后,非处方药在系统前台显示,用户浏览非处方药信息,包括药名、图片、主要成分、性状、适应症、用量、不良反应、公司名称,选择相应的非处方药查询,通过id传参,找到该非处方药,在chufangyao_list.jsp提交查询表单,生成查询记录。

非处方药查询流程如下图所示。

b502bff858890074b4f0be144b2e1893.jpeg

图5-15非处方药查询流程

非处方药查询界面如下图所示。

80355f5ffc6fcb92b08894775e9805ed.jpeg

图5-17非处方药查询界面

非处方药查询的主要逻辑代码:

HashMap ext = new HashMap();

if(request.getParameter("f")!=null){

ext.put("issh","否");

new CommDAO().insert(request,response,"shujujilu",ext,true,false,"");

}

%>

1.2.4反馈发布模块

用户提交反馈信息,包括姓名、性别、年龄、过敏症、病症、回复、反馈人,选择相应的反馈发布,通过id传参,找到该反馈,在fankui_add.jsp提交反馈表单,生成发布记录。

反馈发布流程如下图所示。

74b3052028e1f97a7e487fa7c8b4652f.jpeg

图5-15反馈发布流程

反馈发布界面如下图所示。

28469340d267a7fa2d15ea9fb199bd9f.jpeg

图5-17反馈发布界面

反馈发布的主要逻辑代码:

HashMap ext = new HashMap();

if(request.getParameter("f")!=null){

ext.put("issh","否");

new CommDAO().insert(request,response,"shujujilu",ext,true,false,"");

}

%>

1.3管理员子系统模块的实现

1.3.1管理员主页模块

经过用户登录后,页面跳转至首页,main.jsp,首页是由2个页面组成的,包括top、left和center等页面,通过@ include引入,系统首页主要介绍系统的基本信息,包括当前用户、当前日期、当前访问浏览器的版本、服务器的端口数、当前用户的权限、当前电脑的ip、当前电脑的操作系统名称、本系统的开发日期、系统作者、指导教师、开发日期等。其中left部分是系统菜单,本系统菜单包括1级菜单和2级菜单,使用jquery实现1级菜单展开为2级菜单。

主界面如下图所示。

c93b352354a9706c65b30011e49a19fb.jpeg

图5-1主界面

1.3.2系统用户管理模块

管理员对系统用户的管理,在yhzhgl.jsp实现管理员用户的管理,包括录入、删除、修改,修改密码通过SESSION获取用户名,然后输入新密码,提交到mod.jsp中,使用sql命令更新密码。

管理员用户管理的界面如下图所示。

8cb9431010bb970c01f9a9cd71b034b7.jpeg

图5-2管理员用户管理界面

普通用户管理界面如下图所示。

df978ae6babbfb10a3b08c6ec6c35367.jpeg

图5-3普通用户管理界面

登录密码修改界面如下图所示。

2b3b32ac1a6f2f8462da0585965f4d57.jpeg

图5-4登录密码修改界面

登录密码修改的逻辑代码如下。

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.3.3非处方药管理模块

管理员在feichufangyao_add.jsp发布非处方药,跳转至非处方药添加表单,提交非处方药信息,包括药名、图片、主要成分、性状、适应症、用量、不良反应、公司名称等,非处方药提交后,数据库的非处方药信息表刷新数据,系统将非处方药信息展示出来。

非处方药管理的流程如所示。

9bf6926a46e89f25bfe2bd9d6d1f29fe.jpeg

图5-7非处方药管理流程

非处方药添加的界面如所示。

6c662b0b3f3aac61a7055d7c0b27c0fb.jpeg

图5-8非处方药添加界面

非处方药管理的界面如所示。

503e268b48545a8f0ff4644524d1dee2.jpeg

图5-9非处方药管理界面

非处方药信息添加的逻辑代码如下。

HashMap ext = new HashMap();

if(request.getParameter("f")!=null){

ext.put("issh","否");

new CommDAO().insert(request,response,"shujujilu",ext,true,false,"");

}

%>

1.3.4疾病管理模块

疾病管理包括新增疾病、删除疾病、修改疾病、查询疾病等,以疾病新增为例,在视图层请求疾病信息新增,反馈后,调用业务逻辑层,通过业务逻辑层的接口调用底层的数据逻辑层完成数据库联动操作。

疾病管理的流程如所示。

0d5bfff3a52af441d45261d14d824e7e.jpeg

图5-10疾病管理流程

疾病添加的界面如所示。

e425ec9aa6680447203f67f010704072.jpeg

图5-11疾病添加界面

疾病管理的界面如所示。

a66ccb20cf6b57bb85a3c8845068e7be.jpeg

图5-9疾病管理界面

疾病信息添加的逻辑代码如下。

HashMap ext = new HashMap();

if(request.getParameter("f")!=null){

ext.put("issh","否");

new CommDAO().insert(request,response,"shujujilu",ext,true,false,"");

}

%>

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值