您的位置:首页 > 其它

普通用户的注册和管理员的权限操作

2015-11-13 18:55 483 查看
普通用户可以注册,登录但没有管理员的权限。管理员只有一位,指定了的,可以对所有用户进行操作。





loginAction.java

package com.examine3.action;

import java.util.ArrayList;

import java.util.List;

import com.examine3.bean.user;

import com.examine3.dao.operationDao;

import com.examine3.dao.userLogin;

import com.opensymphony.xwork2.ActionContext;

import com.opensymphony.xwork2.ActionSupport;

public class loginAction extends ActionSupport {

private static final long serialVersionUID = 1L;

private String username;

private String password;

private int permission;

private user ur;

public String getUsername() {

return username;

}

public void setUsername(String username) {

this.username = username;

}

public String getPassword() {

return password;

}

public void setPassword(String password) {

this.password = password;

}

public int getPermission() {

return permission;

}

public void setPermission(int permission) {

this.permission = permission;

}

public user getUr() {

return ur;

}

public void setUr(user ur) {

this.ur = ur;

}

@Override

public String execute() throws Exception {

System.out.println("111");

userLogin ul = new userLogin();

ur = ul.Login(username, password);

if (ur == null) {

ActionContext.getContext().put("tips", "该用户不存在!");

return ERROR;

} else {

if (ur.getPermission() == 0) {

//ActionContext.getContext().getSession().put("userName", username);

//searchAction searchAction = new searchAction();

List<user> list = new ArrayList<user>();

list = operationDao.getAll();

ActionContext.getContext().getSession().put("list", list);

//ActionContext.getContext().getSession().put("ur", ur);

return "supper";

}else {

return SUCCESS;

}

}

}

public String getall(){

List<user> list = new ArrayList<user>();

list = operationDao.getAll();

ActionContext.getContext().getSession().put("list", list);

return SUCCESS;

}

}

operationAction.java

package com.examine3.action;

import java.util.ArrayList;

import java.util.List;

import org.apache.struts2.ServletActionContext;

import com.examine3.bean.user;

import com.examine3.dao.operationDao;

import com.opensymphony.xwork2.ActionContext;

import com.opensymphony.xwork2.ActionSupport;

public class operationAction extends ActionSupport {

private static final long serialVersionUID = 1L;

private String userName; // 修改后的name

private String name1; // 原来数据库中的name

private String password;

private int permission;

public String getName1() {

return name1;

}

public void setName1(String name1) {

this.name1 = name1;

}

public String getUserName() {

return userName;

}

public void setUserName(String userName) {

this.userName = userName;

}

public String getPassword() {

return password;

}

public void setPassword(String password) {

this.password = password;

}

public int getPermission() {

return permission;

}

public void setPermission(int permission) {

this.permission = permission;

}

public String update() throws Exception {

if (operationDao.update(userName, password, permission, this.name1)) {

ActionContext.getContext().put("name", userName);

ActionContext.getContext().put("pwd", password);

List<user> list = new ArrayList<user>();

list = operationDao.getAll();

ActionContext.getContext().getSession().put("list", list);

return SUCCESS;

} else {

return ERROR;

}

}

public String delete() {

String userName = ServletActionContext.getRequest().getParameter(

"username");

if (operationDao.delete(userName)) {

return SUCCESS;

} else {

return ERROR;

}

}

}

registerAction.jsp

package com.examine3.action;

import com.examine3.bean.user;

import com.examine3.dao.operationDao;

import com.examine3.dao.userLogin;

import com.opensymphony.xwork2.ActionContext;

import com.opensymphony.xwork2.ActionSupport;

public class registerAction extends ActionSupport {

private static final long serialVersionUID = 1L;

private String userName;

private String password;

private user ur;

public String getUserName() {

return userName;

}

public void setUserName(String userName) {

this.userName = userName;

}

public String getPassword() {

return password;

}

public void setPassword(String password) {

this.password = password;

}

public user getUr() {

return ur;

}

public void setUr(user ur) {

this.ur = ur;

}

@Override

public String execute() throws Exception {

if (operationDao.getName(userName) == null) {

if (operationDao.register(userName, password)) {

return SUCCESS;

}

return SUCCESS;

} else {

// 添加表单校验错误信息

addFieldError(userName, "用户名已存在!");

return ERROR;

}

}

}

校验器

<!DOCTYPE validators PUBLIC

"-//Apache Struts//XWork Validator 1.0.2//EN"

"http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd">

<validators>

<!-- 必填字符串校验器 -->

<field name="userName">

<field-validator type="requiredstring">

<param name="trim">true</param>

<message>登录名不能为空</message>

</field-validator>

</field>

<!-- 必填校验器使用 -->

<field name="password">

<field-validator type="required">

<message>密码不能为空</message>

</field-validator>

</field>

</validators>

operationDao.java

package com.examine3.dao;

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.util.ArrayList;

import java.util.List;

import com.examine3.bean.user;

import com.examine3.util.DBHelper;

public class operationDao {

// 注册 1为普通用户,0位管理员

public static boolean register(String userName, String password) {

Connection conn = null;

PreparedStatement ps = null;

ResultSet rs = null;

int row = 0;

boolean flag = false;

String sql = "INSERT INTO user(userName,password,permission) VALUES('"

+ userName + "','" + password + "','1')";

conn = DBHelper.getConn();

try {

ps = conn.prepareStatement(sql);

row = ps.executeUpdate();

return flag = true;

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} finally {

DBHelper.closeDBHelper(conn, ps, rs);

}

return flag;

}

// 删除

public static boolean delete(String userName) {

Connection conn = null;

PreparedStatement ps = null;

ResultSet rs = null;

int row = 0;

boolean flag = false;

String sql = "DELETE FROM `user` WHERE username = '" + userName + "'";

System.out.println(sql);

conn = DBHelper.getConn();

try {

ps = conn.prepareStatement(sql);

row = ps.executeUpdate();

flag = true;

return flag;

} catch (SQLException e) {

System.out.println("Error:" + e.getMessage());

e.printStackTrace();

} finally {

DBHelper.closeDBHelper(conn, ps, rs);

}

return flag;

}

// 修改

public static boolean update(String userName, String password,

int permission, String name1) {

Connection conn = null;

PreparedStatement ps = null;

ResultSet rs = null;

int row = 0;

boolean flag = false;

String sql = "UPDATE `user` SET username = '" + userName

+ "' , password = '" + password + "',permission = '"

+ permission + "' WHERE username = '" + name1 + "'";

System.out.println(sql);

conn = DBHelper.getConn();

try {

ps = conn.prepareStatement(sql);

row = ps.executeUpdate();

flag = true;

return flag;

} catch (SQLException e) {

System.out.println("Error:" + e.getMessage());

e.printStackTrace();

} finally {

DBHelper.closeDBHelper(conn, ps, rs);

}

return flag;

}

// 查詢

public static List<user> getAll() {

List<user> list = new ArrayList<user>();

user users = null;

Connection conn = null;

PreparedStatement ps = null;

ResultSet rs = null;

String sql = "SELECT * from `user` ";

System.out.println("****************************");

System.out.println(sql);

try {

conn = DBHelper.getConn();

ps = conn.prepareStatement(sql);

rs = ps.executeQuery();

while (rs.next()) {

users = new user();

users.setUsername(rs.getString(1));

users.setPassword(rs.getString(2));

users.setPermission(rs.getInt(3));

list.add(users);

}

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} finally {

DBHelper.closeDBHelper(conn, ps, rs);

}

System.out.println(list);

return list;

}

// 取得姓名,若无,注册

public static String getName(String userName) {

String name = null;

Connection conn = null;

PreparedStatement ps = null;

ResultSet rs = null;

String sql = "SELECT * FROM user WHERE username ='" + userName + "'";

System.out.println(sql);

try {

conn = DBHelper.getConn();

ps = conn.prepareStatement(sql);

rs = ps.executeQuery();

while (rs.next()) {

name = rs.getString(1);

}

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return name;

}

}

userLogin.java

package com.examine3.dao;

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import com.examine3.bean.user;

import com.examine3.util.DBHelper;

public class userLogin {

public user Login(String username,String password){

Connection conn = null;

PreparedStatement ps = null;

ResultSet rs = null;

user nuser = null;

String sql = "SELECT * FROM user WHERE username = '"+username+"' and password = '"+password+"'";

System.out.println(sql);

conn = DBHelper.getConn();

try {

ps = conn.prepareStatement(sql);

rs = ps.executeQuery();

while (rs.next()) {

System.out.println(rs);

nuser = new user();

nuser.setPassword(rs.getString(2));

nuser.setUsername(rs.getString(1));

nuser.setPermission(rs.getInt(3));

}

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}finally{

DBHelper.closeDBHelper(conn, ps, rs);

}

return nuser;

}

}

登录拦截器

package com.examine3.interceptor;

import com.opensymphony.xwork2.Action;

import com.opensymphony.xwork2.ActionContext;

import com.opensymphony.xwork2.ActionInvocation;

import com.opensymphony.xwork2.ActionSupport;

import com.opensymphony.xwork2.interceptor.AbstractInterceptor;

public class loginInterceptor extends AbstractInterceptor {

@Override

public String intercept(ActionInvocation arg0) throws Exception {

// 取得保存在session中的userName

Object object = ActionContext.getContext().getSession().get("ur");

if(object!=null){

return arg0.invoke();

}

else{

//未登录的情况下,写入Action Error信息

((ActionSupport)arg0.getAction()).addActionError("请登录!");

return Action.LOGIN;

}

}

}

DBHelper.java

package com.examine3.util;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.PreparedStatement;

public class DBHelper {

/*

* 加载数据库驱动并返回连接对象,用connection链接

*/

public static Connection getConn() {

Connection conn = null;

try {

Class.forName("com.mysql.jdbc.Driver");

conn = DriverManager.getConnection(

"jdbc:mysql://localhost:3306/user3", "root", "admin");

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (ClassNotFoundException e) {

System.out.println("找不到驱动程序类,加载驱动失败!");

e.printStackTrace();

}

return conn;

}

/*

* 关闭数据库方法

*/

public static void closeDBHelper(Connection conn, PreparedStatement ps,

ResultSet rs) {

try {

if (rs != null) {

rs.close();

}

if (ps != null) {

ps.close();

}

if (conn != null) {

conn.close();

}

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

用户列表页面

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>用户列表页面</title>

<script type="text/javascript">

function deleteuser(username) {

var result = window.confirm("确定要删除吗?");

if (result == true) {

//执行

window.location.href = "deleteAction?method=delete&username="

+ username;

}

}

</script>

</head>

<body>

<table align="center">

<tr>

<td>用户名</td>

<td>密码</td>

<td>权限</td>

<td colspan="2">操作</td>

</tr>

<c:forEach items="${list }" var="list">

<tr>

<td>${list.username }</td>

<td>${list.password }</td>

<td><a

href="update.jsp?name=${list.username}&pass=${list.password}">修改</a></td>

<td><a href="javascript:deleteuser('${list.username }')">

删除</a></td>

</tr>

</c:forEach>

</table>

</body>

</html>

修改页面

<%@page import="com.opensymphony.xwork2.ActionContext"%>

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>修改页面</title>

<script language="javascript">

function back() {

window.location.href = "userlist.jsp";

}

</script>

</head>

<body>

<form action="updateAction">

<table>

<tr>

<td>用户名</td>

<td>密码</td>

</tr>

<% String name1 = request.getParameter("name");

String pass = request.getParameter("pass");

%>

<tr>

<td><input name="userName" type="text" class="input1"

value="<%out.print(name1); %>" /></td>

<td><input name="password" type="text" class="input2"

value="<%out.print(pass); %>" /></td>

</tr>

<tr>

<td>

<input type="submit" name="Submit1" value="确定" />

<input type="button" name="Submit3" value="取消" onclick="back()" />

</td>

</tr>

<tr>

<td><input type="hidden" name = "name1" value="<%out.print(name1); %>"></td>

</tr>

</table>

</form>

</body>

</html>

配置struts

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE struts PUBLIC

"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"

"http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>

<package name="default" namespace="/" extends="struts-default">

<interceptors>

<interceptor name="loginInterceptor"

class="com.examine3.interceptor.loginInterceptor" />

</interceptors>

<global-results>

<result name="login">/login.jsp</result>

</global-results>

<action name="registerAction" class="com.examine3.action.registerAction">

<!-- <result name = "input">register.jsp</result> -->

<result name = "success">/login.jsp</result>

<result name = "error">/register.jsp</result>

</action>

<action name="loginAction" class="com.examine3.action.loginAction">

<!-- <result name = "input">login.jsp</result> -->

<result name = "supper">/userlist.jsp</result>

<result name = "success">/Success.jsp</result>

<result name = "error">/Error.jsp</result>

<!-- <interceptor-ref name="loginInterceptor"></interceptor-ref> -->

</action>

<action name="updateAction" class="com.examine3.action.operationAction" method="update">

<result name = "success">/userlist.jsp</result>

<result name = "error">/update.jsp</result>

</action>

<action name="getallAction" class="com.examine3.action.loginAction" method="getall">

<result name = "success">/userlist.jsp</result>

<result name = "error">/update.jsp</result>

</action>

<action name="deleteAction" class="com.examine3.action.operationAction" method="delete">

<result name = "success" type="redirect" >getallAction</result>

<result name = "error">error.jsp</result>

</action>

</package>

</struts>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: