Struts+Spring+Hibernate練習(xí)(完整)
?<formset>
??<form name="loginForm">
???<field property="username" depends="required">
????<arg0 key="prompt.username" />
???</field>
???<field property="password" depends="required">
????<arg0 key="prompt.password" />
???</field>
??</form>
?</formset>
</form-validation>
prompt.password=User Password
增加以下內(nèi)容
prompt.password=登錄密碼
??? <action
????? attribute="loginForm"
????? input="/login.jsp"
????? name="loginForm"
????? path="/login"
????? scope="request"
????? validate="true"
????? type="com.test.struts.action.LoginAction" />
??ActionMapping mapping,
??ActionForm form,
??HttpServletRequest request,
??HttpServletResponse response) {
??DynaValidatorForm loginForm = (DynaValidatorForm) form;
??String username=loginForm.getString("username");
??String password=loginForm.getString("password");
??if(username.equals("test")||password.equals("test")){
???return mapping.findForward("indexGo");
??}else{
???return mapping.getInputForward();
??}
?}
??? <set-property property="contextConfigLocation" value="/WEB-INF/applicationContext.xml" />
? </plug-in>
????? attribute="loginForm"
????? input="/login.jsp"
????? name="loginForm"
????? path="/login"
????? scope="request"
????? validate="true"
????? type="com.test.struts.action.LoginAction" />
????? attribute="loginForm"
????? input="/login.jsp"
????? name="loginForm"
????? path="/login"
????? scope="request"
????? validate="true"
????? type="org.springframework.web.struts.DelegatingActionProxy" />
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
?<bean name="/login" class="com.test.struts.action.LoginAction" singleton="false"></bean>
? `ID` int(11) NOT NULL auto_increment,
? `USERNAME` varchar(50) NOT NULL default '',
? `PASSWORD` varchar(50) NOT NULL default '',
? PRIMARY KEY? (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
UserDAO.java
public interface UserDAO {
?? public abstract boolean isValidUser(String username, String password);
}
UserDAOImp.java
import java.util.List;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import com.test.Hibernate.SessionFactory;
public class UserDAOImp extends HibernateDaoSupport implements UserDAO {
??? private SessionFactory sessionFactory;
??? private static String hql = "from User u where u.username=? ";
??? public boolean isValidUser(String username, String password) {
?????? List userList = this.getHibernateTemplate().find(hql, username);
?????? if (userList.size() > 0) {
?????????? return true;
?????? }
?????? return false;
??? }
}
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.validator.DynaValidatorForm;
public class LoginAction extends Action {
?private UserDAO userDAO;
??return userDAO;
?}
??this.userDAO = userDAO;
?}
???HttpServletRequest request, HttpServletResponse response) {
??DynaValidatorForm loginForm = (DynaValidatorForm) form;
??// TODO Auto-generated method stub
??String username = (String) loginForm.get("username");
??String password = (String) loginForm.get("password");
??loginForm.set("password", null);
??if (userDAO.isValidUser(username,password)) {
???return mapping.findForward("indexGo");
??} else {
???return mapping.getInputForward();
??}
?}
綠色字體為修改部份
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
?<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
??<property name="driverClassName">
???<value>com.mysql.jdbc.Driver</value>
??</property>
??<property name="url">
???<value>jdbc:mysql://localhost/test</value>
??</property>
??<property name="username">
???<value>root</value>
??</property>
??<property name="password">
???<value>root</value>
??</property>
?</bean>
?<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
??<property name="dataSource">
???<ref local="dataSource" />
??</property>
??<property name="mappingResources">
???<list>
????<value>com/test/Hibernate/User.hbm.xml</value>
???</list>
??</property>
??<property name="hibernateProperties">
???<props>
????<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
????<prop key="hibernate.show_sql">true</prop>
???</props>
??</property>
?</bean>
??<property name="sessionFactory">
???<ref local="sessionFactory" />
??</property>
?</bean>
??<property name="sessionFactory">
???<ref local="sessionFactory" />
??</property>
?</bean>
??<property name="transactionManager">
???<ref bean="transactionManager" />
??</property>
??<property name="target">
???<ref local="userDAO" />
??</property>
??<property name="transactionAttributes">
???<props>
????<prop key="insert*">PROPAGATION_REQUIRED</prop>
????<prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
????<prop key="is*">PROPAGATION_REQUIRED,readOnly</prop>
???</props>
??</property>
?</bean>
??<property name="userDAO">
???<ref bean="userDAOProxy" />
??</property>
?</bean>
</beans>
只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。 | ||
![]() |
||
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問(wèn)
管理
|
||