⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1.txt

📁 一个简单的struts 应用例子具体步骤代码
💻 TXT
📖 第 1 页 / 共 2 页
字号:
(mystruts应用)目录结构
   mystruts
        |-WEB-INF
        |      |- lib
        |      |   |- struts.jar
        |      |- classes
        |      |      |- ConnectionPool
        |      |      |            |- getDbConnection.class
        |      |      |-mystruts
        |      |             |- user1Action.class
        |      |             |- userAction.class
        |      |             |- userActionForm.class
        |      |             |- userdao.class
        |      |-struts-bean.tld
        |      |-struts-config.xml
        |      |-struts-html.tld
        |      |-struts-logic.tld
        |      |-struts-template.tld
        |-adduser.jsp
        |-index.jsp
        |-viewuser.jsp

第一步: 开发环境配置

(如果你还没有相关软件. 请到http://www.apache.org 下载)

tomcat5.0 配置  (建立一个 mystruts 应用, 并拷贝相关文件)

请在你的tomcat安装目录中找到\conf\Catalina\localhost 子目录. 新建 mystruts.xml 文件
文件内容如下. 在这个文件中. 我们将配置一个联接池.请把相关的驱动.数据库用户,密码改成你自己的本机配置.
并把JDBC驱动拷贝一份到 Tomcat 5.0\common\lib 目录下. 请把 struts.jar \mystruts\WEB-INF\lib 目录下.

<Context path="/mystruts" docBase="D:\www\mystruts\mystruts\mystruts" debug="0" privileged="true">

  <Resource name="jdbc/TestDB"
               auth="Container"
               type="javax.sql.DataSource"/>

  <ResourceParams name="jdbc/TestDB">
    <parameter>
      <name>factory</name>
      <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
    </parameter>

    <parameter>
      <name>maxActive</name>
      <value>10</value>
    </parameter>

    <parameter>
      <name>maxIdle</name>
      <value>5</value>
    </parameter>

    <parameter>
      <name>maxWait</name>
      <value>10000</value>
    </parameter>

    <parameter>
     <name>username</name>
     <value>sa</value>
    </parameter>
    <parameter>
     <name>password</name>
     <value>test</value>
    </parameter>

    <parameter>
       <name>driverClassName</name>
       <value>net.sourceforge.jtds.jdbc.Driver</value>
    </parameter>

    <parameter>
      <name>url</name>
      <value>jdbc:jtds:sqlserver://192.168.10.223:1433/mystruts</value>
    </parameter>
  </ResourceParams>
</Context>

WEB-INF/web.xml  (加入struts标记库的支持)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
  <servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    <init-param>
      <param-name>debug</param-name>
      <param-value>2</param-value>
    </init-param>
    <init-param>
      <param-name>config</param-name>
      <param-value>/WEB-INF/struts-config.xml</param-value>
    </init-param>
    <load-on-startup>2</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>
  <taglib>
    <taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>
    <taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
  </taglib>
  <taglib>
    <taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>
    <taglib-location>/WEB-INF/struts-html.tld</taglib-location>
  </taglib>
  <taglib>
    <taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri>
    <taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
  </taglib>
  <taglib>
    <taglib-uri>/WEB-INF/struts-template.tld</taglib-uri>
    <taglib-location>/WEB-INF/struts-template.tld</taglib-location>
  </taglib>
</web-app>

第二步: 配置数据库

1.首先创建数据联接bean, 并打包到 ConnectionPool, 它将从我们配置的联接池中取得可用联接.

// Java Document
package ConnectionPool;
import javax.naming.*;
import javax.sql.*;
import java.sql.*;
import java.io.*;
import java.util.*;

public class getDbConnection {

 Connection conn;
 Statement stmt;
 ResultSet rs=null;

String foo = "Not Connected";
  int bar = -1;

  public getDbConnection() {
    try{
      Context ctx = new InitialContext();
      if(ctx == null )
          throw new Exception("Boom - No Context");

      DataSource ds =
            (DataSource)ctx.lookup(
               "java:comp/env/jdbc/TestDB");

      if (ds != null) {
        conn = ds.getConnection();

        }
      }
    catch(Exception e) {
      e.printStackTrace();
    }
 }

public Connection  getCon()
 {
   return  conn;
 }


public void d_close() throws SQLException
  {
    if (rs != null) {
      try { rs.close(); } catch (SQLException e) { ; }
      rs = null;
    }
    if (stmt != null) {
      try { stmt.close(); } catch (SQLException e) { ; }
      stmt = null;
    }
    if (conn != null) {
      try { conn.close(); } catch (SQLException e) { ; }
      conn = null;
    }

  }

protected void finalize() throws Throwable
  {
   try { d_close(); } catch (SQLException e) { ; }
  }

}

2.创建数据库. 

数据库名: mystruts

部门表: mydep

_______________________________________
dep_id           dep_name
_______________________________________
 1               dep1
 2               dep2
 3               dep3
 4               dep4
_______________________________________

用户表: myuser
______________________________________________
user_id     user_name    dep     tel
______________________________________________
 1          jack          1      0769-2454042
 2          max           2      0769-2454043
______________________________________________

(注: 以上字段为了测试方便. 全部使用字符型)


第三步:  创建ActionForm  (userActionForm.java)

 

package mystruts;  //请打包到mystruts下.

import org.apache.struts.action.*;
import javax.servlet.http.*;

public class userActionForm extends ActionForm {
  private String action="add";
  private String dep;
  private String tel;
  private String user_id;
  private String user_name;
  public String getAction() {
    return action;
  }
  public void setAction(String action) {
    this.action = action;
  }
  public String getDep() {
    return dep;
  }
  public void setDep(String dep) {
    this.dep = dep;
  }
  public String getTel() {
    return tel;
  }
  public void setTel(String tel) {
    this.tel = tel;
  }
  public String getUser_id() {
    return user_id;
  }
  public void setUser_id(String user_id) {
    this.user_id = user_id;
  }
  public String getUser_name() {
    return user_name;
  }
  public void setUser_name(String user_name) {
    this.user_name = user_name;
  }
  public ActionErrors validate(ActionMapping actionMapping, HttpServletRequest httpServletRequest) {

    return null;
  }
  public void reset(ActionMapping actionMapping, HttpServletRequest httpServletRequest) {
  }
}


第四步:建立数据库操作对象 (完成对表的增删修改与查询)

package mystruts;

import java.sql.*;
import ConnectionPool.*;
import java.util.*;

public class userdao {
  getDbConnection db=null;
  Connection con=null;

  public userdao() {
  }
  //-------------------------------------------------------------------
  public void userInsert(userActionForm uaf1)
  {
   db=new getDbConnection();
   con=db.getCon();
   userActionForm uaf=uaf1;
   PreparedStatement ps = null;
   String sql="insert into myuser (user_id,user_name,dep,tel) values(?,?,?,?)";
   try {

       ps = con.prepareStatement(sql);
       ps.setString(1,uaf.getUser_id());
       ps.setString(2,uaf.getUser_name());
       ps.setString(3,uaf.getDep());
       ps.setString(4,uaf.getTel());
       ps.executeUpdate();
        }
        catch (SQLException e)
        {
         System.out.println("sql error");
        }
       finally
       {
        try{
               con.close();
               db.d_close();
             }
        catch(Exception e) {}
        }
    }
   //---------------------------------------------
   public void userUpdate(userActionForm uaf1)
   {
   db=new getDbConnection();
   con=db.getCon();
   userActionForm uaf=uaf1;
   PreparedStatement ps = null;
   String sql="update myuser set user_name=?,dep=?,tel=? where user_id=?";
   try {

      ps = con.prepareStatement(sql);
      ps.setString(1,uaf.getUser_name());
      ps.setString(2,uaf.getDep());
      ps.setString(3,uaf.getTel());
      ps.setString(4,uaf.getUser_id());
      ps.executeUpdate();
       }
      catch (SQLException e)
      {
       System.out.println("sql error");
      }
     finally
      {
      try{
             con.close();
             db.d_close();
           }
      catch(Exception e) {}
      }
  }
 //---------------------------------------------
  public userActionForm getUser(String key)
  {
   db=new getDbConnection();
   con=db.getCon();
   ResultSet rs=null;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -