ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Struts入门示例

Struts入门示例

原创 Linux操作系统 作者:zofe2008 时间:2009-03-31 15:39:16 0 删除 编辑

Struts入门示例

1、创建项目

名称Login.选择JDK为1.5。

2、为项目添加Struts支持

LoginàMy Eclipse à Add Struts Capabilities。版本选择1.2Base package for new class中将yourcompany修改为自己希望的名字,其余的默认。

3、创建包com.login.DBConnecrtions用于管理对数据库的访问

4、在包com.login.DBConnecrtions创建DBConnection类。用于管理与数据库的连接。

该类的代码如下:

package com.login.DBConnections;

import java.sql.*;

public class DBConnection {

    Connection conn;

    public DBConnection(){

       try {

           Class.forName("oracle.jdbc.driver.OracleDriver");

           conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "bidw", "bidw");

       }

       catch (Exception e)

       {e.printStackTrace();}

    }

    public Connection getDbCon(){

       return conn;

    }

   

    public void conn_close() {

       if (conn != null)

       {

           try {

              conn.close();

           }

           catch(Exception e){

              e.printStackTrace();

           }

           conn = null;

       }

    }

}

期间不要忘记将对应数据库的驱动程序加入到项目的引用中去。

说明一下数据库端的设计,只有一张表users,记录了一条记录{user_id:1000; user_name:admin;user_pwd:admin}

 

5、创建LoginForm类用于表示表单对象。

创建于默认的包com.login.struts下。LoginForm类的代码如下:

package com.login.struts;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.*;

 

public class LoginForm. extends ActionForm. {

    private static final long serialVersionUID = 1L;

    private String username;

    private String password;

   

    public String getUsername(){

       return username;

    }

    public void setUsername(String user_name){

       this.username = user_name;

    }

    public String getPassword(){

       return password;

    }

    public void setPassword(String pwd){

       this.password = pwd;

    }

    public ActionErrors validate(ActionMapping actionMapping, HttpServletRequest request, HttpServletResponse response){

       return null;

    }

    public void reset(ActionMapping actionMapping, HttpServletRequest request, HttpServletResponse response)   {}

}

 

6、创建userDao类用于对数据库对象进行操作

同样创建于包com.login.strutsuserDao类的的代码如下:

package com.login.struts;

import java.sql.*;

import com.login.DBConnections.*;

 

public class userDao {

    public LoginForm. getUserByName(String user_name) {

       DBConnection dbc = new DBConnection();

       Connection conn = dbc.getDbCon();

       ResultSet rs = null;

       LoginForm. lf = new LoginForm();

       PreparedStatement ps = null;

       String sql = "select * from users where user_name = '" + user_name + "'";

       try {

           ps = conn.prepareStatement(sql);

           rs = ps.executeQuery();

           if (rs.next()){

              lf.setUsername(rs.getString("user_name"));

              lf.setPassword(rs.getString("user_pwd"));

           }

       }

       catch(SQLException e){

           System.out.println("Lee Yang Wei");

           e.printStackTrace();

       }

       finally{

           dbc.conn_close();

       }

       return lf;

    }

}

 

7、创建LoginAction类用于处理业务逻辑

创建于包com.login.strutsLoginAction的代码如下:

package com.login.struts;

import org.apache.struts.action.*;

import javax.servlet.http.*;

public class LoginAction extends Action {

public ActionForward execute(ActionMapping actionMapping, ActionForm. actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse)

    throws Exception{

       userDao dao = new userDao();

       LoginForm. lf_user = (LoginForm)actionForm;

       LoginForm. lf_db = dao.getUserByName(lf_user.getUsername());

      

       if (lf_user.getPassword().equals(lf_db.getPassword())){

           return actionMapping.findForward("success");

       }

       else{

           return actionMapping.findForward("fail");

       }

    }

}

8、添加3JSP页面

分别表示登录页面(login.jsp)、登录成功(success.jsp)和登录失败(fail.jsp)

Login.jsp的核心标记:

<html:form action="/login">

    username<html:text property="username" /><br>

    password<html:password property="password" /><br>

     <html:submit property="submit" value="Submit">html:submit>

         <html:reset value="Reset">html:reset>

html:form>

Success.jsp的核心标记:

  <body>

    登录成功! <br>

  body>

Fail.jsp的核心标记:

  <body>

   用户名或密码错误! <br>

  body>

 

9、修改struts-config.xml文件

如下:

<struts-config>

  <data-sources />

  <form-beans>

    <form-bean name="LoginForm" type="com.login.struts.LoginForm">form-bean>

  form-beans>

  <global-exceptions />

  <global-forwards />

  <action-mappings>

    <action

      attribute="LoginForm"

      input="/login.jsp"

      name="LoginForm"

      scope="request"

      path="/login"

      type="com.login.struts.LoginAction" >

        <forward name="success" path="/success.jsp" />

        <forward name="fail" path="/fail.jsp" />

    action>

  action-mappings>

  <message-resources parameter="com.login.struts.ApplicationResources" />

struts-config>

10、发布

登录http://localhost:8080/Login/login.jsp访问。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14969361/viewspace-582405/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-01-17

  • 博文量
    24
  • 访问量
    41823