普通用户的注册和管理员的权限操作
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>
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>
相关文章推荐
- streams 日差管理及监控
- 关于函数指针
- iptables扫盲!!!
- 快学Scala读书笔记之 Chapter 8(继承)
- Android如何获取手机各项信息
- WebService
- APP 截图
- Sublime Text有哪些使用技巧(转)
- RSAProtectedConfigurationProvider加密web.config
- (学习笔记)android 5.0 系统去电流程状态判断(下)
- 各种排序总结
- TarJan 算法求解有向连通图强连通分量
- 通过wireshark获取应用接口并使用爬虫爬取网站数据(三)
- Android IBinder的linkToDeath介绍
- DataProtectionConfigurationProvider加密web.config文件
- 阶乘因子和
- 任务栏显示桌面没有了
- 浅谈C++容器(六)
- java中数组赋值
- 最新的Hibernate(hibernate-release-5.0.2.Final)里配置proxool连接池详细步骤