速動(dòng)畫(huà)教程第十五集
?
本集為第十二集Struts+Spring+Hibernate練習(xí)(完整) 的 續(xù)集
?
下載地址:http://sonic.peakle.net/download/sonic015.rar
?
將增加以下部份內(nèi)容
?
注冊(cè)新用戶(hù),用戶(hù)瀏覽、刪除用戶(hù)
?
現(xiàn)在導(dǎo)入原工程
?
打開(kāi) UserDAO.java 文件,增加以下方法,此方法為增加用戶(hù)
public interface UserDAO {
??? public abstract boolean isValidUser(String username, String password);
??? public abstract boolean addUser(User user);
}
?
打開(kāi) UserDAOImp.java 文件,添加接口方法的實(shí)現(xiàn),并為方法編寫(xiě)以下內(nèi)容:
??? public boolean addUser(User user) {
??????? try {
??????????? this.getHibernateTemplate().save(user);
??????? } catch (Exception e) {
??????????? System.out.println(e.getMessage());
??????????? return false;
??????? }
??????? return true;
??? }
?
?
按下Ctrl + N,使用向?qū)?chuàng)建 add.jsp 、AddForm(動(dòng)態(tài))、AddAction.java文件,這是注冊(cè)新用戶(hù)的Action
?
修改配置內(nèi)容如下:
<action
????? attribute="addForm"
????? input="/add.jsp"
????? name="addForm"
????? path="/add"
????? scope="request"
????? validate="true"
????? type="org.springframework.web.struts.DelegatingActionProxy" />
?
第一句實(shí)現(xiàn)了必須對(duì)提交的數(shù)據(jù)進(jìn)行驗(yàn)證
第二句實(shí)現(xiàn)了和spring集成
?
修改 AddAction.java 文件,內(nèi)容如下:
?
??? 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();
??????? }
??? }
?
關(guān)于在Action中使用 User 對(duì)像,我在這里沒(méi)有使用 IoC 方式進(jìn)行管理,這不好,希望大家在正式應(yīng)用中使用。
?
在spring配置文件(applicationContext.xml)中加入以下內(nèi)容:
?????? <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>