java web 用户管理_JavaWeb图像可视化管理系统之后台搭建(二)用户管理与增删改查(内含代码)...

上一篇文章中,我们介绍了环境配置与后台设计,对于不了解的同学,可以看这个链接CharlesDDDD:JavaWeb图像可视化管理系统之后台搭建(一)环境配置与后台设计​zhuanlan.zhihu.comzhihu-card-default.svg

这篇文章,我们将直接面向功能进行分析,是这个系列文章中干货最多,最需要理解的一篇。

首先,我们要搭一个后台,需要提前做的是确定Java Resources中Package的目录结构,将不同的java类放在不同的文件夹下面。第一级目录我们一般设为com,而在本项目中,我将com下面的包划分为数据访问层(Dao层),实体映射层(Entity层)、功能层(Util层)以及放Servlet和Filter的两个层。

PS: 建包的时候在空包下面建包会得到同级目录的包,要先在包中新建一个类再创建。

(1)用户登陆与注册

DengluServlet

package com.servlet;

import java.io.IOException;

import java.util.ArrayList;

import java.util.List;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpSession;

import com.dao.PhotoDaoImpl;

import com.dao.UserDao;

import com.dao.UserDaoImpl;

import com.entity.Photo;

import com.entity.User;

public class DengluServlet extends HttpServlet { //需要继承HttpServlet 并重写doGet doPost方法public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

doPost(request, response); //将信息使用doPost方法执行 对应jsp页面中的form表单中的method}

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

String name = request.getParameter("user"); //得到jsp页面传过来的参数String pwd = request.getParameter("pswd"); //得到jsp页面传过来的参数

UserDao ud = new UserDaoImpl();

HttpSession session = request.getSession();

if(ud.login(name, pwd)){

if(name.equals("root"))

{

UserDaoImpl userService = new UserDaoImpl();

List UserList = new ArrayList();

UserList = userService.getUserAll();

request.setAttribute("UserList",UserList);

session.setAttribute("loginMsg","管理员登陆成功!");

request.getRequestDispatcher("UserManagement.jsp").forward(request, response);//转发到成功页面

}else {

PhotoDaoImpl photoService = new PhotoDaoImpl();

List PhotoList = new ArrayList();

PhotoList = photoService.getAllPhotos();

request.setAttribute("PhotoList",PhotoList);

session.setAttribute("loginMsg","普通用户登陆成功!");

request.setAttribute("user", name);

request.getRequestDispatcher("SatellitePic.jsp").forward(request, response);

}

}

else{

session.setAttribute("loginMsg","用户不存在或密码错误!");

response.sendRedirect("login.jsp"); //重定向到首页}

}

}

ZhuceServlet

package com.servlet;

import java.io.IOException;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import com.dao.UserDao;

import com.dao.UserDaoImpl;

import com.entity.User;

public class ZhuceServlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

doPost(request, response);

}

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

String name = request.getParameter("register_user"); //获取jsp页面传过来的参数String pwd = request.getParameter("register_pswd");

User user = new User(); //实例化一个对象,组装属性user.setName(name);

user.setPwd(pwd);

UserDao ud = new UserDaoImpl();

if(ud.register(user)){

request.setAttribute("username", name); //向request域中放置参数request.getRequestDispatcher("login.jsp").forward(request, response); //转发到登录页面}else{

response.sendRedirect("login.jsp");//重定向到首页}

}

}

UserDao(用户层接口)

package com.dao;

import java.util.List;

import com.entity.User;

public interface UserDao {

public boolean login(String name,String pwd);//登录public boolean register(User user);//注册public List getUserAll();//返回用户信息集合public boolean delete(String name) ;//根据id删除用户public boolean update(String name, String pwd) ;//更新用户信息}

UserDaoImpl(用户层接口实现)

package com.dao;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.util.ArrayList;

import java.util.List;

import com.entity.User;

import com.util.DBconn;

public class UserDaoImpl implements UserDao{

public boolean register(User user) {

boolean flag = false;

DBconn.init();

int i =DBconn.addUpdDel("insert into userdata(user,password) " +

"values('"+user.getName()+"','"+user.getPwd()+"')");

if(i>0){

flag = true;

}

DBconn.closeConn();

return flag;

}

public boolean login(String name, String pwd) {

boolean flag = false;

try {

DBconn.init();

ResultSet rs = DBconn.selectSql("select * from userdata where user='"+name+"' and password='"+pwd+"'");

while(rs.next()){

if(rs.getString("user").equals(name) && rs.getString("password").equals(pwd)){

flag = true;

}

}

DBconn.closeConn();

} catch (SQLException e) {

e.printStackTrace();

}

return flag;

}

public List getUserAll() {

List list = new ArrayList();

try {

DBconn.init();

ResultSet rs = DBconn.selectSql("select * from userdata");

while(rs.next()){

User user = new User();

user.setName(rs.getString("user"));

user.setPwd(rs.getString("password"));

list.add(user);

}

DBconn.closeConn();

return list;

} catch (SQLException e) {

e.printStackTrace();

}

return null;

}

public boolean update(String name, String pwd) {

boolean flag = false;

DBconn.init();

String sql ="update user set user ='"+name

+"' , password ='"+pwd

+"' where user = "+name;

int i =DBconn.addUpdDel(sql);

if(i>0){

flag = true;

}

DBconn.closeConn();

return flag;

}

public boolean delete(String n

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值