//ACTION
public class PublicAction {
public void updatepage(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
//����UTF-8
request.setCharacterEncoding("UTF-8");
String newsid = request.getParameter("newsid");
NewsDao newsdao = new NewsDao();
NewsBean newsBean = new NewsBean();
newsBean = newsdao.selectNewsId(Long.parseLong(newsid));
request.setAttribute("type","update");
request.setAttribute("newsBean", newsBean);
request.getRequestDispatcher("add_update.jsp").forward(request, response);
}
}
//DAO
public class Dao {
public List<UserBean> selUser(){
ConnectionManager connManager = new ConnectionManager();
Connection conn=null;
PreparedStatement st=null;
ResultSet rs=null;
String sql= "SELECT * FROM ";
sql+="User";
List<UserBean> myList = new ArrayList<UserBean>();
try {
conn = connManager.getConnection();
st = conn.prepareStatement(sql);
rs = st.executeQuery();
while (rs.next()) {
UserBean userBean = new UserBean();
userBean.setId(rs.getLong("id"));
userBean.setUserName(rs.getString("name"));
userBean.setPassword(rs.getString("psw"));
userBean.setUserAddress(rs.getString("address"));
myList.add(userBean);
}
connManager.closeConnection(rs, st, conn);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
return myList;
}
}
//ConnectionManager
public class ConnectionManager {
private String driver="com.mysql.jdbc.Driver";
private String url="jdbc:mysql://localhost:3306/news?useUnicode=true&characterEncoding=gbk";
private String userName="sa";
private String password="sa";
//获取连接的方法
public Connection getConnection(){
Connection conn=null;
try {
Class.forName(driver);
conn=DriverManager.getConnection(url,userName,password);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}
//关闭连接的方法
public void closeConnection(ResultSet rs,PreparedStatement st,Connection conn){
try {
if (rs!=null) {
rs.close();
}
if(st!=null){
st.close();
}
if(conn!=null&(!conn.isClosed())){
conn.close();
}
} catch (Exception e) {
// TODO: handle exception
}
}
}
分享到:
相关推荐
当用户提交登录表单时,Action类会调用DAO层来验证用户的信息是否正确。 ```java public class LoginAction extends Action { private String username; private String password; private UserDAO userDAO; ...
2. **使用DAO接口**:通过定义DAO接口,可以实现多个DAO类共享相同的方法,如`getConnection()`。这样可以提高代码复用性,并便于后续添加新的DAO实现。例如,ProductDAO和OrderDAO都可能需要获取数据库连接,所以...
在Action类中,我们可以设置相应的属性,如当前页、总页数等,以便Struts标签能够正确显示分页导航。 总结来说,实现Struts + DAO分页涉及以下步骤: 1. 在前端使用Struts标签创建分页链接和显示分页数据。 2. 在...
例如,Servlet会根据`index`的`action`找到对应的登录处理逻辑,并调用DAO层进行数据验证和数据库操作。 3. JDBC(Java Database Connectivity):JDBC是Java访问数据库的标准接口,它负责与数据库建立连接,执行...
- 将数据库操作代码封装在DAO(数据访问对象)中,Action仅负责调用DAO方法和控制流程。 - 使用ModelDriven接口,简化ActionForm,让Action直接绑定模型对象。 - 适当使用贫血模型或富模型,根据业务需求选择合适...
Connection connection = DBHelper.getConnection(); List<Dept> depts = new ArrayList(); try { PreparedStatement psd = connection.prepareStatement(sql); ResultSet rs = psd.executeQuery(); while (rs...
4. 编写Action、Service、DAO以及对应的实体类。 5. 测试整合:编写一个简单的Action,调用Service,由Service调用DAO进行数据库操作,最后返回结果到视图。 ### 五、XML配置优化 在实际项目中,通常会将配置分散...
<property name="connection.url">jdbc:mysql://localhost:3306/testdb?useUnicode=true&characterEncoding=utf8 <property name="connection.username">root <property name="connection.password">root ...
创建`applicationContext.xml`文件,定义Bean,包括DAO、Service、Action类等,并配置数据源和事务管理。例如: ```xml <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect ...
DAO类通过`java.sql.Connection`、`Statement`或`PreparedStatement`来执行SQL语句。连接数据库通常需要加载JDBC驱动,建立`Connection`,然后创建`Statement`或`PreparedStatement`实例,执行SQL,最后关闭资源。 ...
org.apache.struts.action.ActionServlet </servlet-class> <init-param> <param-name>config</param-name> <param-value>/WEB-INF/struts-config.xml</param-value> </init-param> <load-on-startup>1</load...
这个文件名可能指的是Struts2应用的Action、Service、DAO(数据访问对象)和Util类。Action处理请求,Service封装业务逻辑,DAO负责与数据库交互,Util类则提供通用的辅助函数。这四个部分共同构成了一个完整的...
- **配置Struts2配置文件**:在项目的`WEB-INF/classes`目录下创建`struts.xml`文件,定义Action及其映射关系。 - 示例代码如下: ```xml <?xml version="1.0" encoding="UTF-8"?> ...
然而,为了实现功能完整的应用,还需要配置Servlet容器(如Tomcat)、添加必要的库(如JSTL、JDBC驱动等),并编写Controller、Service、DAO和视图组件。此外,还需要考虑异常处理、国际化、权限控制等多个方面。 ...
在Java中,使用JDBC的`Connection`对象的`setAutoCommit(false)`开启手动提交事务,然后通过`commit()`和`rollback()`控制事务边界,确保SQL1和SQL2要么都执行,要么都不执行。 10. **Oracle分页实现**: Oracle...
<property name="connection.url">jdbc:oracle:thin:@192.168.0.141:1521:TEST <property name="myeclipse.connection.profile">TEST <property name="connection.username">test <!-- 更多配置... --> ...
<form action="MyServlet" method="post"> <label for="name">Name:</label><input type="text" id="name" name="name"> <label for="age">Age:</label><input type="number" id="age" name="age"> ...
编写实体类、DAO、Action 3)给用户邮箱发送验证码 引入commons-email.jar,email.jar 参考EmailUtil工具类代码 4)进入邮箱验证页面verify_form.jsp 2.邮箱验证 1)表单验证 验证码:非空、正确性(ajax) ...