struts 2框架及实现代码

 

Struts 2 控制的MVC系统


struts 2框架及实现代码

代码实现过程:

1。DB类实现数据库连接代码

2。JavaBean初始化即login类,register类提供get()和set()获取数据库数据实现初始化。

3 。struts实现Action与JSP也面互动。

 

代码如下:

 

DBConn类访问数据库代码

 

  package com;

 

import java.sql.*;

 

publicclass DBConn {

 

    publicstatic Connection conn;

   

    publicstatic Connection getConn(){

       

        try {

            Class.forName("com.mysql.jdbc.Driver");

            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/ll","root","123456");

           returnconn;

        } catch (Exception e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

            returnnull;

        }

    }

   

        publicstaticvoid CloseConn(){

           

            try {

                conn.close();

            } catch (Exception e) {

                // TODO Auto-generated catch block

                e.printStackTrace();

            }

        }

    }

   

    Dao类实现数据库表的操作

   

package com;

importjava.sql.*;

publicclass l_dao {

    Connection conn;

    public logincheckLogin(String username,String password){

        conn = DBConn.getConn();

        PreparedStatement pstmt;

        try {

            pstmt = conn.prepareStatement("select * from login whereusername=?"+"and password =?");

        pstmt.setString(1, username);

        pstmt.setString(2, password);

        ResultSet rs=pstmt.executeQuery();

        if(rs.next()){

            login login=new login();

            login.setLogin_id(rs.getInt(1));

            login.setUsername(rs.getString(1));

            login.setPassword(rs.getString(2));

//          login.setRole(rs.getInt(4));    

            return login;      

        }  returnnull;

        } catch (Exception e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

            returnnull;

        }finally{

            DBConn.CloseConn();

        }  

    }

}

Login类实现get和set方法

package com; 

publicclass login {

    privateintlogin_id;

    private String username;

    private String password;

    publicint getLogin_id() {

        returnlogin_id;

    }

    publicvoid setLogin_id(int login_id) {

        this.login_id = login_id;

    }

    public String getUsername() {

        returnusername;

    }

    publicvoid setUsername(String username) {

        this.username = username;

    }

    public String getPassword() {

        returnpassword;

    }

    publicvoid setPassword(String password) {

        this.password = password;

    }

}

Action类

package com;

importjava.util.Map;

importcom.opensymphony.xwork2.ActionContext;

import com.opensymphony.xwork2.ActionSupport;

 

public classloginAction extends ActionSupport{

 

       private String username;

       private String password;

       private login login;

      

       public String execute() throws Exception{

             

              l_dao logindao=new l_dao();

              login l= logindao.checkLogin(login.getUsername(),login.getPassword());

              if(l!=null){

                     Map session=ActionContext.getContext().getSession();

                     session.put("login",l);

                     return SUCCESS;

                    

              }else{

                     return ERROR;

              }

       }

 

       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 login getLogin() {

              return login;

       }

 

       public void setLogin(login login) {

              this.login = login;

       }

      

}

 

 

Struts 2配置文件

 

<?xml version="1.0"encoding="UTF-8"?>

<!DOCTYPE struts PUBLIC

      "-//ApacheSoftware Foundation//DTD Struts Configuration 2.1.7//EN"

    "http://struts.apache.org/dtds/struts-2.1.7.dtd">

      <struts>

          <package name="default" extends="struts-default">

               <action name="login" class="com.loginAction">

                    <result name="success">/main.jsp</result>

                    <result name="error">/error.jsp</result>

               </action>

          </package>

         

          <constant name="struts.il8n.encoding" value="gb2312"></constant>

      </struts>

 

Web配置文件

 

<?xml version="1.0"encoding="UTF-8"?>

<web-app version="2.5"

    xmlns="http://java.sun.com/xml/ns/javaee"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

   

    <!-- structs2配置文件 -->

   

    <filter>

          <filter-name>struts2</filter-name>

          <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>

   

    <init-param>

          <param-name>actionPackages</param-name>

          <param-value>com.mycompany.myapp.actions</param-value>

    </init-param>

    </filter>

   

    <filter-mapping>

          <filter-name>struts2</filter-name>

          <url-pattern>/*</url-pattern>

    </filter-mapping>

   

  <display-name></display-name>

  <welcome-file-list>

    <welcome-file>index.jsp</welcome-file>

  </welcome-file-list>

</web-app>

 

Index.jsp

 

<%@ page language="java" import="java.util.*"pageEncoding="utf-8"%>

<%@ taglib prefix="s" uri="/struts-tags"%>

<html>

  <head>

    <title></title>

  </head>

  <body bgcolor="#71CABF"style="text-align=center;">

  

   <s:form action="login"menthod="post" theme="simple">

        <table>

             <caption>用户登陆</caption>

             <tr>

                 <td>登录名</td>

                 <td><s:textfield name="login.username"  size="20"/></td>

             </tr>

             <tr>

                  <td>&nbsp;&nbsp;&nbsp; :</td>

                  <td><s:password name="login.password"type="password" size="21"/></td>

             </tr>

             <tr>

                  <td>

                     <s:submit value=""/>

                     <s:reset value=""/>

                  </td>

             </tr>

        </table>

   </s:form>

  </body>

</html>