基於SSH框架的登陸的簡單實例

1、首先建立幾個包名:如圖這裏寫圖片描述
2、struts.xml中配置如下:(其中action的name必須與jsp頁面表單的action名一樣,class爲與applicationContext.xml中action注入的id值一致,method爲將在LoginAction中寫的方法名,result那麼input爲空提交指定的返回,success爲LoginAction中將要指定的返回)

<package name="default" extends="struts-default" namespace="/">
        <action name="Login" class="loginAction" method="login">
            <result name="input">/index.jsp</result>
            <result name="Success">/main.jsp</result>
        </action>
    </package>

3、分別新建接口LoginService.java和LoginDAO.java
裏面添加方法boolean login(String username,String password);
分別對上述2個方法寫實現類:LoginServiceImpl.java和LoginDAOImpl.java。注意實現“implements 接口”。注意還要繼承“extends HibernateDaoSupport”。
其中,LoginDAOImpl.java中添加如下代碼,查詢用戶名、密碼。

public class LoginDAOImpl extends HibernateDaoSupport implements LoginDAO{
    public boolean login(String username, String password) {
        User a=new User();
        a.setPassword(password);
        a.setUsername(username);
        List<User> u = this.getHibernateTemplate().findByExample(a);
        boolean flag = false;
        if(u.size() > 0){
            flag = true;
        }
        return flag;
    }
}   

4、LoginServiceImpl.java中添加如下代碼,調用上述方法。

public class LoginServiceImpl extends HibernateDaoSupport implements LoginService{
    private LoginDAO logindao;
    public void setLogindao(LoginDAOImpl logindao) {
        this.logindao = logindao;
    }
    public boolean login(String username, String password) {
        return logindao.login(username, password);
    }
}

5、LoginAction中添加login方法

public class LoginAction extends ActionSupport{
        private LoginService loginservice;
        private String username;
        private String password;
        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;
        }
        public LoginService getLoginservice() {
            return loginservice;
        }
        public void setLoginservice(LoginService loginservice) {
            this.loginservice = loginservice;
        }
        public String login(){
            boolean flag = loginservice.login(username, password);//調用數據庫查詢方法,驗證用戶名、密碼
            if(flag){
                return "Success";
            }else{
                return "input";
            }
        }
    }

6、applicationContext.xml中配置 注入

<!--登陸的配置  -->
        <!--  DAO注入sessionFactory -->
    <bean id="logind" class="com.dao.LoginDAOImpl">
        <!-- 注入持久化操作所需的SessionFactory -->
        <property name="sessionFactory" ref="sessionFactory"/>
    </bean>
     <!--service注入dao id爲下面的ref  class爲 service實現類 name="service實現類中聲明的dao"-->
     <bean id="logins" class="com.service.LoginServiceImpl" >
       <property name="logindao" ref="logind"/>
   </bean>
   <!-- Action注入 service  id="" 注入 class="action路徑" name="loginservice"與LoginAction中聲明的要保持一致 ref隨便取-->
   <bean id="com.action.LoginAction" class="com.action.LoginAction" scope="prototype">
       <property name="loginservice" ref="logins"/>
   </bean>

7、登陸頁面index.jsp中添加表單表單action名爲login,設置兩個文本框用戶名爲username,密碼password。

<form  method="post" action="Login.action">
        用戶名:<input name="username" type="text" />

密碼:<input name="password" type="password"  />
            <input name="Submits" type="submit"     value="登錄" />               <input name="ReSet" type="reset" value="重置" />
</form>

到這裏登陸註冊已經基本完成了。
說說這次所遇到的問題吧,在寫這個簡單的實例中,首先是就是寫配置注入的時候需要加入default-autowire=”byName (一定要有):這裏寫圖片描述
其次就是在注入裏面需要添加mysql的驅動程序:

    <bean id="dataSource"
        class="org.apache.commons.dbcp.BasicDataSource">
        ***<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>***
        <property name="url" value="jdbc:mysql://localhost:3306/tsz"></property>
        <property name="username" value="root"></property>
        <property name="password" value="123456"></property>
    </bean>

到這裏已經完成了,對於才學習的你,希望可以受用。感謝!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章