admin 管理员组

文章数量: 887053


2023年12月23日发(作者:苏卿陆容渊全文免费阅读)

struts2 增删改查功能实现

先看下总体项目

这是用户登陆表

这是用户信息表

1.在用户输入用户名和密码登陆之后,我们可以直接调用一个查询所有用户信息的方法,这样就可以查看到所有用户信息了,所要做的就是要写多个方法来执行,然后返回给页面显示(在这里我没有做分页演示),大家要有耐心的看哦,代码有点多。。。

------------------------------action类代码--------------------------

package ;

import tion;

import Set;

import ent;

import DateFormat;

import ist;

import ;

import ssion;

import tActionContext;

import ;

import ;

import Support;

@SuppressWarnings("serial")

public class action extends ActionSupport {

private String username;//注意这里跟 form里面的name属性要对应

private String password;

private String msg;

public String getMsg() {

return msg;

}

public void setMsg(String msg) {

= msg;

}

//然后生成setting getting

public String getUsername() {

return username;

}

public void setUsername(String username) {

me = username;

}

public String getPassword() {

return password;

}

public void setPassword(String password) {

rd = password;

}

//自己写个方法来执行登陆

public String login() throws Exception {

Connection conn = nection();// 这是用来连通数据库,记得,要下载个驱动程序,mysql

Statement stmt = null;

ResultSet rs1 = null;

ResultSet rs2 = null;

try {

stmt = Statement();

String sql1 = "select * from userinfomation where username='"

+ me + "'";

rs1 = eQuery(sql1);

if (!()) {

// 判断用户名是不是 存在,如果不是则输出信息,返回界面

= "用户名不正确!";

return "Error";

} else {

String sql2 = "select * from userinfomation where password='"

+ rd + "'";

rs2 = eQuery(sql2);

if (!()) {

// 判断密码是不是存在,如果不是则输出信息,返回界面

= "密码不正确!";

return "Error";

}

}

();

();

();

();

} catch (Exception e) {

tackTrace();

}

//当上面验证成功了,调用下面的query方法,查出所有用户信息

return query();

}

//这里是用来输出所有用户信息

public String query() throws Exception {

Connection conn = nection();// 这是用来连通数据库,记得,要下载个驱动程序,mysql

Statement stmt = null;

try {

stmt = Statement();

String sql = "select * from dep"; // 从另一张表查出信息

ResultSet rs = eQuery(sql);

List list = new ArrayList(); // new一个list

while (()) {

depDto dt = new depDto(); // 引进depDto

(("id"));

e(ing("name"));

(ing("sex"));

e(ing("time"));// 这里你可以按你需要取出数据库的列的值

(dt);// 把值添加到list里面

}

//在这我们可以输出数据库里面有多少条记录

n("数据库里面有"+()+"条记录");

// 把list 放到session中,传回给页面,所以页面只需接收listAll就可以了

HttpSession session = uest()

.getSession();

ribute("listAll", list);

();

();

();

} catch (Exception e) {

tackTrace();

}

return "query";

}

//这里是添加信息的功能

public String add() throws Exception{

//首先要接收页面传过来的值

String name=uest().getParameter("name");

String sex=uest().getParameter("sex");

date = new ();

String time="";

SimpleDateFormat s = new SimpleDateFormat("yyyy年-MM月dd日-HH:mm:ss");

time=(date);

//如果输出是乱码的话,就要转码了

n(name+sex+time);

Connection conn = nection();

Statement stmt = null;

try {

stmt=Statement();

String sql = "insert into dep(name,sex,time) values('"+name+ "','"+

sex+"','"+time+"')";

int i=eUpdate(sql);

if(i==0){

n("添加失败");

}else{

n("添加成功");

}

();

();

} catch (Exception e) {

tackTrace();

}

//return "add"; 如果你是返回这个,那么页面没有跟新到你新增的信息,所以在返回时要在查询一遍,也就是下面的方法

return query();

}

//删除用户

public String del() throws Exception{

String id=uest().getParameter("id");

n(id);

int i=nt(id);

Connection conn = nection();

Statement stmt = null;

try {

stmt=Statement();

String sql = "delete from dep where id="+i;

int a=eUpdate(sql);

if(a==0){

n("删除失败");

}

();

();

} catch (Exception e) {

tackTrace();

}

return query();

}

//修改用户信息

public String update() throws Exception{

//修改用户信息,首先要接收到要修改哪个用户的ID,然后返回给页面,给显示出该用户的所有信息

String id=uest().getParameter("id");

n(id);

int i=nt(id);

Connection conn = nection();

Statement stmt = null;

try {

stmt=Statement();

String sql = "select * from dep where id="+i;

ResultSet rs=eQuery(sql);

List list = new ArrayList(); // new一个list

while (()) {

depDto dt = new depDto(); // 引进depDto

(("id"));

e(ing("name"));

(ing("sex"));

e(ing("time"));

(dt);// 把值添加到list里面

}

HttpSession session = uest()

.getSession();

ribute("list", list);

();

();

();

} catch (Exception e) {

tackTrace();

}

return "update";

}

//接受修改页面传过来的值

public String update1() throws Exception{

//我在这只接受sex ,id 如果没有ID的话,就会把全部更新了,不是我们想要的效果

String sex=uest().getParameter("sex");

String id=uest().getParameter("id");

int i=nt(id);

n(sex);

Connection conn=nection();

Statement stmt=null;

try {

stmt=Statement();

String sql="update dep set sex='"+sex+"' where id="+i;

eUpdate(sql);

();

();

} catch (Exception e) {

tackTrace();

}

return query();

}

}

--------------------------------------------------------------depDto-------------------------------------------------------------------------------

代码

package ;

public class depDto {

private int id;

private String name;

private String sex;

private String time;

//生成setting和getting 方法

public int getId() {

return id;

}

public void setId(int id) {

= id;

}

public String getName() {

return name;

}

public void setName(String name) {

= name;

}

public String getSex() {

return sex;

}

public void setSex(String sex) {

= sex;

}

public String getTime() {

return time;

}

public void setTime(String time) {

= time;

}

}

2.-------------------------------类写好了,就要配置好XML-------------------------------

Configuration 2.1//EN" "/dtds/">

/

/

/

/

3.------------------------------------------------接着就是页面显示代码和添加页面的代码了----------------------------------------------------

------简要说明下,这里是使用了struts2的iterator来循环输出,"#l"

是从action类传回来的listAll-------

页面代码

<%@ page language="java" pageEncoding="UTF-8"%>

<%@ taglib uri="/struts-tags" prefix="s"%>

查询所以信息界面

用户信息
number name sex operate

onClick="=''">

value="#+1"/>

onclick="='login!?id='+

value="id"/>">

]吗?')==true){='login!?id='+

value="id"/>}">

-----------------------------------------------------------------------------

页面代码

<%@ page language="java" import=".*" pageEncoding="utf-8"%>

<%@ taglib prefix="s" uri="/struts-tags"%>

增加员工

  增加信息

项目

录入

name

sex

   

   

onclick="='javascript:(-1)'">

---------------------------------------------------------------------------------

登陆界面的代码

<%@ page language="java" import=".*" pageEncoding="gbk"%>

<%@ taglib prefix="s" uri="/struts-tags"%>

登陆界面

登陆界面

cssStyle="width:160px;height:20">

cssStyle="width:160px;height:20">

align="left" theme="simple"> 

align="left" theme="simple">

==================================================

更新页面

<%@ page language="java" pageEncoding="utf-8"%>

<%@ taglib uri="/struts-tags" prefix="s"%>

<%@ taglib uri="/jsp/jstl/core" prefix="c"%>

修改

修改

项目

录入

name

sex

Time

   

   

onclick="='javascript:(-1)'">

是挺多的,大家可以学习下,打了好久啊。。。支持下吧。。。。。。。。。。。

如果是sql数据库的也是可以的

只要把里面的那个连接数据库的类改下就可以了:看代码

public class DBConnection {

//创建连接

public static Connection getConnection() {

Connection DBconn = null;

try {

e("verDriver");

String url = "jdbc:sqlserver://localhost:1433;databasename=Oexam"; //Oexam为数据库名称

String user = "sa";//用户名

String password = "123";//用户名密码

DBconn = nection(url, user, password);

} catch (ClassNotFoundException e1) {

n("驱动程序加载错误");

} catch (SQLException e2) {

n("数据库连接时错误");

} catch (Exception e3) {

tackTrace();

}

return DBconn;

}

//关门连接

public static void clear(Connection DBconn) {

if (DBconn != null) {

try {

();

} catch (SQLException e) {

tackTrace();

}

}

}


本文标签: 信息 用户 页面