速動畫教程第十五集

?

本集為第十二集Struts+Spring+Hibernate練習(完整) 續集

?

下載地址:http://sonic.peakle.net/download/sonic015.rar

?

將增加以下部份內容

?

注冊新用戶,用戶瀏覽、刪除用戶

?

現在導入原工程

?

打開 UserDAO.java 文件,增加以下方法,此方法為增加用戶

public interface UserDAO {

??? public abstract boolean isValidUser(String username, String password);

??? public abstract boolean addUser(User user);

}

?

打開 UserDAOImp.java 文件,添加接口方法的實現,并為方法編寫以下內容:

??? public boolean addUser(User user) {

??????? try {

??????????? this.getHibernateTemplate().save(user);

??????? } catch (Exception e) {

??????????? System.out.println(e.getMessage());

??????????? return false;

??????? }

??????? return true;

??? }

?

?

按下Ctrl + N,使用向導創建 add.jsp 、AddForm(動態)、AddAction.java文件,這是注冊新用戶的Action

?

修改配置內容如下

<action

????? attribute="addForm"

????? input="/add.jsp"

????? name="addForm"

????? path="/add"

????? scope="request"

????? validate="true"

????? type="org.springframework.web.struts.DelegatingActionProxy" />

?

第一句實現了必須對提交的數據進行驗證

第二句實現了和spring集成

?

修改 AddAction.java 文件,內容如下:

?

??? private UserDAO userDAO;

???

??? public UserDAO getUserDAO() {

??????? return userDAO;

??? }

??? public void setUserDAO(UserDAO userDAO) {

??????? this.userDAO = userDAO;

??? }

?

??? public ActionForward execute(

??????? ActionMapping mapping,

??????? ActionForm form,

??????? HttpServletRequest request,

??????? HttpServletResponse response) {

??????? DynaActionForm addForm = (DynaActionForm) form;

??????? User user=new User();

??????? user.setUsername(addForm.getString("username"));

??????? user.setPassword(addForm.getString("password"));

??????? addForm.set("password", null);

??????? if (userDAO.addUser(user)) {

??????????? return mapping.findForward("indexGo");

??????? } else {

??????????? return mapping.getInputForward();

??????? }

??? }

?

關于在Action中使用 User 對像我在這里沒有使用 IoC 方式進行管理這不好,希望大家在正式應用中使用。

?

spring配置文件applicationContext.xml中加入以下內容

?????? <bean name="/add" class="com.test.struts.action.AddAction" singleton="false">

?????? <property name="userDAO">

?????????? <ref bean="userDAOProxy" />

?????? </property>

??? </bean>

?

修改index.jsp文件

<html>

? <head>

??? <title>Struts+Spring+Hibernate</title>

? </head>

?

? <body>