软件环境:eclipse2020 tomcat9.0 mysql5.5, jdk1.8
开发技术:java, jsp, servlet , bootstrap,ajax
获取方式:xystgl · master · 码盗_java_bishe / java系统 · GitCode
功能简介:
用户角色:
登录:手机号和密码登录。
个人信息管理:(查看、修改个人信息)
综合信息管理:查看医务人员信息、查看我的诊断记录、查看公告
医务人员
登录:工号登录
个人信息管理:(查看、修改个人信息)
用户管理:(查看所有的用户信息、增删改查)
药品管理:增删改查(药品信息)
患者诊断管理:增删改查用户的就诊信息。(查看只能查看自己的,管理员可以查看所有的诊断记录,用户也只能查看自己的。
公告栏:查看公告
管理员:
登录:用户名登录
用户管理:增删改查
医务人员管理:增删改查
公告管理:增删改查
个人信息管理:查看、修改自己的信息。
统计管理:统计已经诊断过的人。
相关截图
登录页面:
首页
用户页面
新增用户页面
医务人员页面
新增医务人员页面
公告信息页面
新增公告页面
药品信息页面
新增药品信息
用户诊断页面
数据统计页面
项目结构图:
数据库结构图
相关代码
登录代码
$("#login").click(function(){
var username = $("#username").val();
var password = $("#password").val();
if(username == null || username == ""){
alert("请填写用户名");
return false;
}if(password == null || password == ""){
alert("请填写密码");
return false;
}
//执行添加的操作ajax
$.ajax({
cache:true,
type:"post",
url:"LoginServlet?action=login",
data:$("#saveForm").serialize(),
async:false,
success:function(e){
if(e == 'ok'){
alert("登录成功");
window.parent.location.href="LoginServlet?action=toMain";
}else if(e == "user"){
alert("登录成功");
window.parent.location.href="IndexServlet?action=toIndex";
}else{
alert("登录失败,账号或密码错误");
}
}
})
});
/**
* 登录
* @param request
* @param response
* @throws ServletException
* @throws IOException
*/
public void login(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//处理登录
//清空登录记录
request.getSession().invalidate();
//进行登录操作
String username = request.getParameter("username");
String password = request.getParameter("password");
String type = request.getParameter("type");
Admin admin = new Admin();
User user = new User();
if(type != null && type.equals("1")){
Admin admin1 = userService.selectAdmin(username,password);
if(admin1 != null){
response.getWriter().print("ok");
request.getSession().setAttribute("admin",admin1);
request.getSession().setAttribute("flag",1);
}else{
response.getWriter().print("error");
}
}else if(type != null && type.equals("2")){
User user1 = userService.selectUser(username,password);
if(user1 != null){
response.getWriter().print("ok");
request.getSession().setAttribute("user",user1);
request.getSession().setAttribute("flag",2);
}else{
response.getWriter().print("error");
}
}else if(type != null && type.equals("3")){
Doctor doctor = userService.selectDoctor(username,password);
if(doctor != null){
response.getWriter().print("ok");
request.getSession().setAttribute("doctor",doctor);
request.getSession().setAttribute("flag",3);
}else{
response.getWriter().print("error");
}
}else{
response.getWriter().print("error");
}
}
用户相关代码
/**
* 用户列表
*
* @param request
* @param response
* @throws ServletException
* @throws IOException
*/
protected void UserList(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {// 跳转到社长列表界面
String p = request.getParameter("p");// 接收页码
String key = request.getParameter("key");// 接收页码
System.out.print(p);
int pageSize = 6;// 每页显示5条
int pageNum = 1; // 默认第一页
if (p != null) {
pageNum = Integer.parseInt(p);
}
Map map = new HashMap<>();
map.put("key", key);
// 调用分页查询
List<User> list = userService.getUserPage(pageNum, pageSize, map);
// 携带参数到页面
request.setAttribute("list", list); // 绑定参数
int nums = userService.queryUserCount(map); // 查询总数
// 计算总页数
int totalPage = (nums % pageSize == 0) ? (nums / pageSize) : (nums / pageSize + 1);
request.setAttribute("cp", pageNum); // 当前页
request.setAttribute("tp", totalPage); // 总页数
request.setAttribute("key", key); // 总页数
// 条件 值1:值2
request.getRequestDispatcher("/WEB-INF/view/user/list.jsp").forward(request, response); // 页面转发
}
/**
* 添加用户
*
* @param request
* @param response
* @throws ServletException
* @throws IOException
*/
protected void addUser(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {// 处理注册
String message = "no";
User user = fileUpload(request);
User users = userService.selectUserByPhone(user.getPhone());
if (users == null) {
userService.addUser(user);
message = "yes";
} else {
message = "isExist";
}
response.getWriter().print(message);
}
/**
* 上传文件工具方法
*
* @param request
* @return
*/
private User fileUpload(HttpServletRequest request) {
User user = new User();
try {
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
List<FileItem> list = upload.parseRequest(request);
for (FileItem item : list) {
if (item.isFormField()) {
String name = item.getFieldName();
String value = item.getString("UTF-8");
BeanUtils.setProperty(user, name, value);
} else {
String filename = item.getName();
String savefilename = makeFileName(filename);
String savepath = "D:\\upload\\";
InputStream in = item.getInputStream();
FileOutputStream out = new FileOutputStream(savepath + "\\" + savefilename);
int len = 0;
byte buffer[] = new byte[1024];
while ((len = in.read(buffer)) > 0) {
out.write(buffer, 0, len);
}
in.close();
out.close();
item.delete();
user.setPhoto(savefilename);
}
}
return user;
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException(e);
}
}
/**
* 修改用户
*
* @param request
* @param response
* @throws ServletException
* @throws IOException
*/
protected void updateUser(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {// 查询个人信息
User user1 = (User)request.getSession().getAttribute("user");
String message = "no";
User user = WebUtils.toBean(request.getParameterMap(), User.class);
userService.updateUser(user);
if(user1 !=null) {
request.getSession().setAttribute("user", userService.findUserById(user.getId().toString()));
}
message = "yes";
response.getWriter().print(message);
}
@Override
public List<User> getUserPage(int pageNum, int pageSize, Map map) {
String sql = "select * from User where 1 = 1 ";
if (map.get("key") != null && !map.get("key").toString().equals("")) {
sql += " and realname like '%" + map.get("key").toString() + "%'";
}
sql += " limit ?,? ";
int startNo = (pageNum - 1) * pageSize;
List<User> list = null;
try {
list = runner.query(sql, new BeanListHandler<User>(User.class), new Object[] { startNo, pageSize });// 添加实体类的适配器进行类的反射
return list;
} catch (SQLException e) {// 捕获异常
throw new RuntimeException(e);// 抛出运行异常
}
}
@Override
public int queryUserCount(Map map) {
String sql = "select count(*) from User where 1 = 1 ";
if (map.get("key") != null && !map.get("key").toString().equals("")) {
sql += " and realname like '%" + map.get("key").toString() + "%'";
}
try {
Long count = (Long) runner.query(sql, new ScalarHandler());
// 将long的类型转成int类型
return count.intValue();
} catch (SQLException e) {
e.printStackTrace();
throw new RuntimeException(e);
}
}