这星期的实验,终于调好了。一句话,麻雀虽小,五脏俱全。相信刚学struts2的同学可以通过该实验可以更好地理解struts的结构和mvc
登录的之前写过,这里直接进入用户管理
用struts2都要在src文件夹下建个struts.xml文件,文件名不能写错。这里直接贴上整个project定义到的action,了解下语法就可以了,以后具体用到再根据项目去改
/index.jsp
queryAll
queryAll
queryAll
edit.jsp
WebRoot/WEB-INF下有个web.xml,得定义struts过滤器,直接看代码清楚些。这部分固定不变的,以后用到可以直接copy过去
index.jsp
struts2
org.apache.struts2.dispatcher.FilterDispatcher
struts2
/*
用户模型User.java,模型都是一些属性和getter、setter方法,不想每次手动写所有的getter、setter方法可以右击选中Generate Getter and Setters...设置生成相应的方法
public class User {
public int id;
public String username;
public String password;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
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;
}
}
接下来一个DataBaseConn.java,用于获取数据库连接
import java.sql.*;
public class DataBaseConn {
static Connection conn;
public static Connection getConnection(){
try {
Class.forName("com.mysql.jdbc.Driver");
conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "686175");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}
public void close(){
if(conn!=null){
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
QueryUpdate.java,业务逻辑层
import java.util.ArrayList;
import java.sql.*;
public class QueryUpdate {
Connection conn;
Statement stmt;
ResultSet rs;
String sql=null;
public QueryUpdate(){
conn=DataBaseConn.getConnection();
try {
stmt=conn.createStatement();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public ArrayList
queryAll(){
ArrayList
users=new ArrayList
(); try { sql="select * from user"; rs=stmt.executeQuery(sql); while(rs.next()){ User user=new User(); user.setId(rs.getInt(1)); user.setUsername(rs.getString(2)); user.setPassword(rs.getString(3)); users.add(user); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return users; } public User queryUserById(int id){ User user=new User(); sql="select * from user where id='"+id+"'"; try { rs=stmt.executeQuery(sql); if(rs.next()){ user.setId(rs.getInt(1)); user.setUsername(rs.getString(2)); user.setPassword(rs.getString(3)); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return user; } public void delete(int id){ sql="delete from user where id='"+id+"'"; try { stmt.executeUpdate(sql); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public void insert(String username,String password){ try { int count=1; sql="select * from user"; rs=stmt.executeQuery(sql); if(rs.next()){ rs.last(); count=rs.getInt(1)+1; } sql="insert into user values('"+count+"','"+username+"','"+password+"')"; stmt.executeUpdate(sql); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public voi