java管理员登录_idea实现管理员登录javaweb
mysql创建db_0106数据库,
创建表
添加一条数据,id int自增,密码:为MD5加密
insert into tb_sys values(null,admin,MD5(123),"系统管理员");
项目目录结构
com.isoft.db包下
db.properties文件
mysql.driver=com.mysql.jdbc.Driver
mysql.dburl=jdbc:mysql://127.0.0.1:3306/db_0106?userSSL=true&useUnicode=true&characterEncoding=UTF8&serverTimezone=GMT
mysql.loginname=root
mysql.loginpass=root
DBConnection.java
package com.isoft.db;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
public class DBConnection {
private Connection conn ;
private static DBConnection newsInstance ;
public static DBConnection getInstance() {
if(null == newsInstance) {
newsInstance = new DBConnection() ;
}
return newsInstance ;
}
private DBConnection() {
Properties pros = new Properties() ;
try {
pros.load(DBConnection.class.getResourceAsStream("db.properties"));
Class.forName(pros.getProperty("mysql.driver")) ;
this.conn = DriverManager.getConnection(
pros.getProperty("mysql.dburl") ,
pros.getProperty("mysql.loginname") ,
pros.getProperty("mysql.loginpass")
) ;
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
public Connection getConn() {
return conn;
}
public void closeConn() {
if(null != this.conn) {
try {
conn.close();
conn = null ;
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
com.isoft.entity包下
Sys.ava
package com.isoft.entity;
import com.fasterxml.jackson.annotation.JsonIgnore;
import java.io.Serializable;
public class Sys implements Serializable {
private Integer id ;
private String sysname ;
@JsonIgnore
private String syspass ;
private String role ;
public Sys(){}
public Sys(Integer id, String sysname, String syspass, String role) {
this.id = id;
this.sysname = sysname;
this.syspass = syspass;
this.role = role;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getSysname() {
return sysname;
}
public void setSysname(String sysname) {
this.sysname = sysname;
}
public String getSyspass() {
return syspass;
}
public void setSyspass(String syspass) {
this.syspass = syspass;
}
public String getRole() {
return role;
}
public void setRole(String role) {
this.role = role;
}
@Override
public String toString() {
return "Sys{" +
"id=" + id +
", sysname='" + sysname + '\'' +
", syspass='" + syspass + '\'' +
", role='" + role + '\'' +
'}';
}
}
com.isoft.Dao包下
SysDao.java
package com.isoft.Dao;
import com.isoft.db.DBConnection;
import com.isoft.entity.Sys;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class SysDao {
private Connection conn ;
private PreparedStatement psta ;
private String sql ;
public SysDao() {
conn = DBConnection.getInstance().getConn() ;
}
/**
* 管理员登录校验
*/
public Sys loginCheck(String name , String pass) throws SQLException {
sql = "select * from tb_sys where sysname=? and syspass=? " ;
psta = conn.prepareStatement(sql) ;
psta.setString(1 , name);
psta.setString(2 , pass);
ResultSet rs = psta.executeQuery() ;
Sys sys = null ;
if(rs.next()) {
sys = new Sys(rs.getInt(1) , rs.getString(2) , rs.getString(3) ,rs.getString(4)) ;
}
rs.close();
return sys ;
}
/**
* 增加管理员
*/
public int addSys(String name,String pass) throws SQLException {
sql="select * from tb_sys where sysname=?";
psta = conn.prepareStatement(sql) ;
psta.setString(1 , name);
ResultSet rs1=psta.executeQuery();
if(rs1.next()){
return -1;
}else {
sql = "insert into tb_sys(sysname,syspass,role) values(?,?,?)";
psta = conn.prepareStatement(sql);
String str = "系统管理员";
psta.setString(1, name);
psta.setString(2, pass);
psta.setString(3, str);
int rs = psta.executeUpdate();
return rs;
}
}
/**
* 修改管理员密码
*/
public int changePass(int id,String pass) throws SQLException {
sql="update tb_sys set syspass=? where id=?";
psta=conn.prepareStatement(sql);
psta.setString(1,pass);
psta.setInt(2,id);
int rs=psta.executeUpdate();
return rs;
}
}
com.isoft.bean包下
ServerResult.java
package com.isoft.bean;
import java.io.Serializable;
public class ServerResult implements Serializable {
private Integer errorCode ;
private String errorMsg ;
private Object result ;
public ServerResult(){}
public ServerResult(Integer errorCode, String errorMsg, Object result) {
this.errorCode = errorCode;
this.errorMsg = errorMsg;
this.result = result;
}
public Integer getErrorCode() {
return errorCode;
}
public void setErrorCode(Integer errorCode) {
this.errorCode = errorCode;
}
public String getErrorMsg() {
return errorMsg;
}
public void setErrorMsg(String errorMsg) {
this.errorMsg = errorMsg;
}
public Object getResult() {
return result;
}
public void setResult(Object result) {
this.result = result;
}
@Override
public String toString() {
return "ServerResult{" +
"errorCode=" + errorCode +
", errorMsg='" + errorMsg + '\'' +
", result=" + result +
'}';
}
}
com.isoft.filter包下
AuthFilter.java
package com.isoft.filter;
import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import javax.servlet.annotation.WebInitParam;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
/*
未登录用户不能请求manager目录下的所有动态资源,动态资源Servlet配置时以.do结尾
登录用户将在Session中存储loginuser属性
*/
@WebFilter(urlPatterns = {"/manager/*" , "*.do" , "/admin/*"})
public class AuthFilter implements Filter {
String[] pages ;
public void destroy() {
}
public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException {
HttpServletRequest request = (HttpServletRequest) req ;
HttpSession session = request.getSession();
Object obj = session.getAttribute("loginuser") ;
if(null == obj) {
((HttpServletResponse)resp).sendRedirect(request.getContextPath() + "/Login.html");
return ;
}
chain.doFilter(req, resp);
}
public void init(FilterConfig config) throws ServletException {
}
}
com.isoft.service包下
SysService.java
package com.isoft.service;
import com.isoft.Dao.SysDao;
import com.isoft.Util.MD5Util;
import com.isoft.Util.StringUtil;
import com.isoft.entity.Sys;
import java.sql.SQLException;
public class SysService {
private SysDao sysDao ;
public SysService() {
this.sysDao = new SysDao() ;
}
public Sys loginCheck(String name , String pass) {
if(StringUtil.isEmpty(name) || StringUtil.isEmpty(pass)) {
return null ;
}
try {
Sys sys = sysDao.loginCheck(name , MD5Util.getMD5(pass)) ;
return sys ;
} catch (SQLException e) {
e.printStackTrace();
return null ;
}
}
public int addCheck(String name,String pass){
if(StringUtil.isEmpty(name) || StringUtil.isEmpty(pass)) {
return -1 ;
}
try {
int rs= sysDao.addSys(name,pass);
return rs;
} catch (SQLException e) {
e.printStackTrace();
return -1;
}
}
public int changepassCheck(int id,String pass){
if( StringUtil.isEmpty(pass)) {
return -1 ;
}
try {
int rs=sysDao.changePass(id,pass);
return rs;
} catch (SQLException e) {
e.printStackTrace();
return -1;
}
}
}
com.isoft.servlet包下
AddSysServlet.java
package com.isoft.servlet;
import com.isoft.Util.JsonUtil;
import com.isoft.entity.Sys;
import com.isoft.service.SysService;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
@WebServlet( "/sys/AddSysServlet")
public class AddSysServlet extends HttpServlet {
private SysService sysService ;
public AddSysServlet() {
this.sysService = new SysService() ;
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request,response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String name = request.getParameter("addsysname") ;
String pass = request.getParameter("addsyspass") ;
int rs =sysService.addCheck(name,pass);
// response.sendRedirect(request.getContextPath()+"/admin/ManagerIndex.html");
Map map = new HashMap<>() ;
int errorCode ;
String errorMsg ;
if(rs == -1) {
errorCode = 1;
errorMsg = " add defeat!" ;
} else {
errorCode = 0 ;
errorMsg = "add seccess!" ;
// 信息存入Session
}
map.put("errorCode" , errorCode) ;
map.put("errorMsg" , errorMsg) ;
response.getWriter().print(JsonUtil.obj2JsonStr(map));
}
}
太多不想复制了,下面有下载链接,去copy吧
com.isoft.Util包下
去copy吧
web下的目录结构
admin内的html为用户登录后可以访问的页面
login.html
登录成功后
只有几个小功能,但里面有挺多细节的问题,代码没问题。
java管理员登录_idea实现管理员登录javaweb相关推荐
- 服务器其他用户可以登录如何修改管理员密码,怎么更改服务器用户密码呢
怎么更改服务器用户密码呢 内容精选 换一换 建议管理员定期修改组件数据库用户的密码,以提升系统运维安全性.修改密码需要重启服务,服务在重启时无法访问.修改DBService数据库omm用户密码,参考修 ...
- php登录界面分管理员和学生登录,登陆界面怎么实现当点击管理员的时候登陆到管理员界面,当选择学生时登陆到学生界面,求帮忙谢谢啦!...
error_reporting("E_ALL^E_NOTICE^E_WARNING"); include("conn.php"); ?> 管理员登录页面 ...
- oracle中管理员账户登录,Oracle使用管理员账户登录
在校学习Oracle数据库时没有注意过这些细节抑或是时间太久没操作已经忘却了,昨天尝试本地建库使用nifi时发现scott账户被放开以后可以登录但是sys和system两个管理员账户在sqlplus和 ...
- 百信计算机管理员登录账号密码,192.168.0.1管理员密码是多少 管理员密码一般是啥...
原标题:"192.168.0.1管理员密码是多少?"的相关路由192.168.0.1设置教程.来源 - 191路由网. 问:请教各位大神,我用电脑打开了路由器的192.168.0. ...
- javaweb关于用户是否登录全局判断,没有登录跳转到登录界面
javaweb关于用户是否登录全局判断,没有登录跳转到登录界面 有这样一个需求,用户密码登录网站,在session中保留了用户的信息,但是用户很长时间没有再操作该界面,用户的session则被浏览器清 ...
- Java防止用户同一时间重复登录(包括异地登录)
有时候我们在做登录模块过程中难免会遇到这种问题,即使我们给用户进行了多重判断,比如:用户名,管理员,验证码,一系列的判断- 你是否真正考虑到用户的体验,比如不能让用户在同一时间,同一个浏览器重复登录问 ...
- java和Discuz论坛实现单点登录,通过Ucenter(用户管理中心)
果学网-专注IT在线www.prismcollege.com 1,按照下面各大链接的教程,把Base64,Client,PHPFunctions,UC,XMLHelper加入web程序. 2,修改we ...
- java判断用户是否在某一个区域登录_Java实现QQ登录和微博第三方登录
来源:http://www.cnblogs.com/liuxianan转自公众号:Java后端 1. 前言 个人网站最近增加了评论功能,为了方便用户不用注册就可以评论,对接了 QQ 和微博这 2 大常 ...
- java简单小程序_Java简易登录注册小程序
这篇文章主要介绍了Java图形界面开发,简易登录注册小程序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 登录注册小代码,将学过的一些小知识融合在一起进行了使用,加深印象.本例中如果有注释不详细的 ...
最新文章
- python字符编码导致dict中key不同
- web前端学习总结--JQuery
- c 最大子序列和_最大子序列和暴力法、分治+递归法、妙法
- CC254x--OSAL
- java并发编程-----深入剖析ThreadLocal
- /^(0|[1-9]\d*)([.]5)?$/ 在PHP正则中是什么意思 ?
- echarts图表联动案例
- ABAQUS仿真——子弹冲击、热传导
- 经典算法书籍推荐(亲测有效)
- 搭建STM32的开发环境
- 一文梳理2021年常见消息中间件MQ与RabbitMQ面试题
- glassfish 配置 mysql_GlassFish MySql连接池配置 | 学步园
- 如何批量打印dwf文件
- Selenium+Request爬取某鱼直播音频数据(下)
- 为什么IM不适合直接运行在公链上?
- html5 制作书架展示 PHP,简单做出HTML5翻页效果文字特效
- 蜕变的过程总是痛苦的
- C语言练习:该存多少钱
- 折纸问题(规律题)(map的使用)
- 信号完整性之浅谈理解(七)