struts2 增删改查功能实现

loverqiao 贡献于2013-08-21

作者 微软用户  创建于2012-07-05 05:44:00   修改者微软用户  修改于2012-07-05 05:44:00字数11810

文档摘要:这里介绍下,用户登录之后如何查看用户信息,和对用户信息的 增删改查功能实现。
关键词:

2011-06-19 13:31 struts2 增删改查功能实现 上一篇讲到数据库验证用户名,这里介绍下,用户登录之后如何查看用户信息,和对用户信息的 增删改查功能实现。 先看下总体项目        有朋友说照着建立项目运行不了,所以就贴出项目的源代码,由于这个项目不知道放到哪里去了,所以自己又写了个,跟这个项目的代码可能会有点不一样,希望大家见谅  地址 http://115.com/file/bhylzuex  如果使用较早的Myeclipse 自己要加入struts2的包,要不然会显示有错误。。。。。。。。。。。。。。。。。。。。。。。。。。。。 这是用户登陆表 这是用户信息表 1.在用户输入用户名和密码登陆之后,我们可以直接调用一个查询所有用户信息的方法,这样就可以查看到所有用户信息了,所要做的就是要写多个方法来执行,然后返回给页面显示(在这里我没有做分页演示),大家要有耐心的看哦,代码有点多。。。 ------------------------------action类代码-------------------------- package laogen.action; import java.sql.Connection; import java.sql.ResultSet; import java.sql.Statement; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.List; import javax.servlet.http.HttpSession; import org.apache.struts2.ServletActionContext; import laogen.common.DBcon; import laogen.dto.depDto; public class action {    private String username;//注意这里跟index.jsp form里面的name属性要对应  private String password;  private String msg;  public String getMsg() {   return msg;  }  public void setMsg(String msg) {   this.msg = msg;  }  //然后生成setting getting  public String getUsername() {   return username;  }  p ublic void setUsername(String username) {   this.username = username;  }  public String getPassword() {   return password;  }  public void setPassword(String password) {   this.password = password;  }    //自己写个方法来执行登陆    public String login() throws Exception {   Connection conn = DBcon.getConnection();// 这是用来连通数据库,记得,要下载个驱动程序,mysql   Statement stmt = null;   ResultSet rs1 = null;   ResultSet rs2 = null;   try {    stmt = conn.createStatement();    String sql1 = "select * from userinfomation where username='"      + this.username + "'";    rs1 = stmt.executeQuery(sql1);    if (!rs1.next()) {     // 判断用户名是不是 存在,如果不是则输出信息,返回界面     this.msg = "用户名不正确!";     return "Error";    } else {         String sql2 = "select * from userinfomation where password='"       + this.password + "'";     rs2 = stmt.executeQuery(sql2);     if (!rs2.next()) {      // 判断密码是不是存在,如果不是则输出信息,返回界面      this.msg = "密码不正确!";      return "Error";     }    }    rs1.close();    rs2.close();    stmt.close();    conn.close();   } catch (Excepti on e) {    e.printStackTrace();   }   //当上面验证成功了,调用下面的query方法,查出所有用户信息   return query();  }  //这里是用来输出所有用户信息    public String query() throws Exception {   Connection conn = DBcon.getConnection();// 这是用来连通数据库,记得,要下载个驱动程序,mysql   Statement stmt = null;   try {    stmt = conn.createStatement();    String sql = "select * from dep"; // 从另一张表查出信息    ResultSet rs = stmt.executeQuery(sql);    List list = new ArrayList(); // new一个list    while (rs.next()) {     depDto dt = new depDto(); // 引进depDto     dt.setId(rs.getInt("id"));     dt.setName(rs.getString("name"));     dt.setSex(rs.getString("sex"));     dt.setTime(rs.getString("time"));// 这里你可以按你需要取出数据库的列的值     list.add(dt);// 把值添加到list里面    }    //在这我们可以输出数据库里面有多少条记录    System.out.println("数据库里面有"+list.size()+"条记录");           // 把list 放到session中,传回给页面,所以页面只需接收listAll就可以了    HttpSession session = ServletActionContext.getRequest()      .getSession();    session.setAttribute("listAll", list);    conn.close();    rs.close();    stmt.close();   } catch (Exception e) {    e.printStackTrace();   }   return "query";  }    //这里是添加信息的功能  public String add() throws Exception{   //首先要接收页面传过来的值   String name=ServletActionContext.getRequest().getParameter("name");   String sex=ServletActionContext.getRequest().getParameter("sex");   java.util.Date date = new java.util.Date();         String time="";         SimpleDateFormat s = new SimpleDateFormat("yyyy年-MM月dd日-HH:mm:ss");         time=s.format(date);   //如果输出是乱码的话,就要转码了   System.out.println(name+sex+time);   Connection conn = DBcon.getConnection();   Statement stmt = null;   try {    stmt=conn.createStatement();    String sql = "insert into dep(name,sex,time) values('"+name+ "','"+ sex+"','"+time+"')";    int i=stmt.executeUpdate(sql);    if(i==0){     System.out.println("添加失败");    }else{     System.out.println("添加成功");    }    conn.close();    stmt.close();   } catch (Exception e) {    e.printStackTrace();   }   //return "add";  如果你是返回这个,那么页面没有跟新到你新增的信息,所以在返回时要在查询一遍,也就是下面的方法   return query();  }    //删除用户  public String d el() throws Exception{   String id=ServletActionContext.getRequest().getParameter("id");   System.out.println(id);   int i=Integer.parseInt(id);   Connection conn = DBcon.getConnection();   Statement stmt = null;   try {    stmt=conn.createStatement();    String sql = "delete  from dep where id="+i;        int a=stmt.executeUpdate(sql);    if(a==0){     System.out.println("删除失败");    }    conn.close();    stmt.close();   } catch (Exception e) {    e.printStackTrace();   }   return query();  }  //修改用户信息  public String update() throws Exception{   //修改用户信息,首先要接收到要修改哪个用户的ID,然后返回给页面,给显示出该用户的所有信息   String id=ServletActionContext.getRequest().getParameter("id");   System.out.println(id);   int i=Integer.parseInt(id);   Connection conn = DBcon.getConnection();   Statement stmt = null;   try {    stmt=conn.createStatement();    String sql = "select *  from dep where id="+i;    ResultSet rs=stmt.executeQuery(sql);    List list = new ArrayList(); // new一个list    while (rs.next()) {     depDto dt = new depDto(); // 引进depDto     dt.setId(rs.getInt("id"));     dt.setName(rs.getString("name"));     dt.setSex(rs.getString("sex"));     dt.setTime(rs.getString("time"));     list.add(dt);// 把值添加到list里面    }    H ttpSession session = ServletActionContext.getRequest()      .getSession();    session.setAttribute("list", list);    conn.close();    rs.close();    stmt.close();   } catch (Exception e) {    e.printStackTrace();   }   return "update";  }  //接受修改页面传过来的值  public String update1() throws Exception{   //我在这只接受sex ,id 如果没有ID的话,就会把全部更新了,不是我们想要的效果   String sex=ServletActionContext.getRequest().getParameter("sex");   String id=ServletActionContext.getRequest().getParameter("id");   int i=Integer.parseInt(id);   System.out.println(sex);   Connection conn=DBcon.getConnection();   Statement stmt=null;   try {    stmt=conn.createStatement();    String sql="update dep set sex='"+sex+"' where id="+i;    stmt.executeUpdate(sql);    conn.close();    stmt.close();   } catch (Exception e) {    e.printStackTrace();   }   return query();  } }   --------------------------------------------------------------depDto------------------------------------------------------------------------------- depDto.java  代码   package laogen.dto; 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) {   this.id = id;  }  public String getName() {   return name;  }  public void setName(String name) {   this.name = name;  }  public String getSex() {   return sex;  }  public void setSex(String sex) {   this.sex = sex;  }  public String getTime() {   return time;  }  public void setTime(String time) {   this.time = time;  }   }  2.-------------------------------类写好了,就要配置好struts.xml-------------------------------        /index.jsp          /query.jsp    /query.jsp    /update.jsp              3.------------------------------------------------接着就是页面显示代码和添加页面的代码了----------------------------------------------------     ------简要说明下,这里是使用了struts2的iterator来循环输出,"#session.listAll" 是从action类传回来的listAll------- query.jsp 页面代码   <%@ page language="java" pageEncoding="UTF-8"%> <%@ taglib uri="/struts-tags" prefix="s"%>           查询所以信息界面                                                               
用户信息
numbernamesexoperate    
">    ]吗?')==true){window.location.href='login!del.action?id='+}">
----------------------------------------------------------------------------- add.jsp 页面代码 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <%@ taglib prefix="s" uri="/struts-tags"%>     增加员工             
   

      增加信息    

                                                                                             
       项目               录入       
       name        
      
              
       sex                      
    
                             
  
  --------------------------------------------------------------------------------- 登陆界面的代码 index.jsp <%@ page language="java" import="java.util.*" pageEncoding="gbk"%> <%@ taglib prefix="s" uri="/struts-tags"%>     登陆界面      
 

        

 
                                   

登陆界面

 
================================================== 更新页面 update.jsp <%@ page language="java" pageEncoding="utf-8"%> <%@ taglib uri="/struts-tags" prefix="s"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>     修改             
   

    修改    

                                                                                                                 
       项目               录入       
       name        
      
                    
       sex                      
       Time        
      
             
    
                             
  
  是挺多的,大家可以学习下,打了好久啊。。。支持下吧。。。。。。。。。。。     如果是sql数据库的也是可以的 只要把里面的那个连接数据库的类改下就可以了:看代码   public class DBConnection {     //创建连接     public static Connection getConnection() {         Connection DBconn = null;         try {             Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");             String url = "jdbc:sqlserver://localhost:1433;databasename=Oexam"; //Oexam为数据库名称             String user = "sa";//用户名             String password = "123";//用户名密码             DBconn = DriverManager.getConnection(url, user, password);         } catch (ClassNotFoundException e1) {             System.out.println("驱动程序加载错误");         } catch (SQLException e2) {             System.out.println("数据库连接时错误");         } catch (Exception e3) {             e3.printStackTrace();         }         return DBconn;     }     //关门连接     public static void clear(Connection DBconn) {         if (DBconn != null) {             try {                 DBconn.close();             } catch (SQLException e) {                 e.printStackTrace();             }         }     }

下载文档到电脑,查找使用更方便

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 6 金币 [ 分享文档获得金币 ] 1 人已下载

下载文档