Struts2连接MySQL数据库

 按照如下步骤连接MySQL数据库 :

第一步 : 创建struts.xml并向其中添加如下xml代码 :


Xml代码
  
    "-//Apache Software Foundation//DTD Struts   
        Configuration 2.0//EN"   
    "http://struts.apache.org/dtds/struts-2.0.dtd">  
  
  
  
      
         value="false" />   
      
      
  
      
  
  
     extends="struts-default">  
  
  
  
      
      /pages/insertData.jsp  
   
  
  
      
      /pages/insertData.jsp  
      /pages/insertSuccess.jsp  
   
  
     
   
  
  
  
   


    "-//Apache Software Foundation//DTD Struts
        Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">



   
         value="false" />
   
   

   


     extends="struts-default">



   
      /pages/insertData.jsp
   


   
      /pages/insertData.jsp
      /pages/insertSuccess.jsp
   

  
   




第二步 : 创建一个JSP输入表单 :

insertData.jsp

Html代码
<%@ taglib prefix="s" uri="/struts-tags" %>  
  
  
Struts 2 Insert Data Application!  
  
" rel="stylesheet"  
type="text/css"/>  
  
  
  
  
  
  
  
  
  
Please enter   
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  

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


Struts 2 Insert Data Application!

" rel="stylesheet"
type="text/css"/>









Please enter















第三步 : 创建一个Action类.

首先通过MySQL驱动的帮助("org.gjt.mm.mysql.Driver")建立一个MySQL数据库连接.现在,在MySQL数据库中创建一个账户以连接数据库.创建连接后,你可以向MySQL数据库的表中检索,添加,更新数据.

下面的Action类通过方法适当的类型的帮助和API接口建立了与MySQL数据库的连接.如果建立了连接输入的数据会添加到MySQL数据库表中否则显示错误信息.

insert.java

Java代码
package net.roseindia;   
import com.opensymphony.xwork2.ActionSupport;   
import java.util.Date;   
import java.sql.*;   
  
  
/**  
*

Validate a user login.

  
*/  
public  class insert  extends ActionSupport {   
     
  public String execute() throws Exception {   
    String url = "jdbc:mysql://localhost:3306/";   
    String dbName = "taskproject";   
    String driverName = "org.gjt.mm.mysql.Driver";   
    String userName = "root";   
    String password = "root";   
    Connection con=null;   
    Statement stmt=null;   
    try{   
      Class.forName(driverName).newInstance();   
      con=DriverManager.getConnection(url+dbName, userName,   
          password);   
      stmt=con.createStatement();   
    }   
    catch(Exception e){   
      System.out.println(e.getMessage());   
    }   
    String uname=getUsername();   
    String pws=getPassword();   
    stmt = con.createStatement();   
        int val = stmt.executeUpdate("INSERT employee VALUES   
                  ('"+uname+"','"+pws+"')");   
    if(val == 0){   
      return ERROR;   
    }   
    else{   
      return SUCCESS;   
    }   
  }   
  // ---- Username property ----   
  
    /**  
     *

Field to store User username.

  
     *

  
     */  
    private String username = null;   
  
  
    /**  
     *

Provide User username.

  
     *  
     * @return Returns the User username.  
     */  
    public String getUsername() {   
        return username;   
    }   
  
    /**  
     *

Store new User username

  
     *  
     * @param value The username to set.  
     */  
    public void setUsername(String value) {   
        username = value;   
    }   
  
    // ---- Username property ----   
  
    /**  
     *

Field to store User password.

  
     *

  
     */  
    private String password = null;   
  
  
    /**  
     *

Provide User password.

  
     *  
     * @return Returns the User password.  
     */  
    public String getPassword() {   
        return password;   
    }   
  
    /**  
     *

Store new User password

  
     *  
     * @param value The password to set.  
     */  
    public void setPassword(String value) {   
        password = value;   
    }   
  
}  

package net.roseindia;
import com.opensymphony.xwork2.ActionSupport;
import java.util.Date;
import java.sql.*;


/**
*

Validate a user login.


*/
public  class insert  extends ActionSupport {
  
  public String execute() throws Exception {
    String url = "jdbc:mysql://localhost:3306/";
    String dbName = "taskproject";
    String driverName = "org.gjt.mm.mysql.Driver";
    String userName = "root";
    String password = "root";
    Connection con=null;
    Statement stmt=null;
    try{
      Class.forName(driverName).newInstance();
      con=DriverManager.getConnection(url+dbName, userName,
          password);
      stmt=con.createStatement();
    }
    catch(Exception e){
      System.out.println(e.getMessage());
    }
    String uname=getUsername();
    String pws=getPassword();
    stmt = con.createStatement();
        int val = stmt.executeUpdate("INSERT employee VALUES
                  ('"+uname+"','"+pws+"')");
    if(val == 0){
      return ERROR;
    }
    else{
      return SUCCESS;
    }
  }
  // ---- Username property ----

    /**
     *

Field to store User username.


     *


     */
    private String username = null;


    /**
     *

Provide User username.


     *
     * @return Returns the User username.
     */
    public String getUsername() {
        return username;
    }

    /**
     *

Store new User username


     *
     * @param value The username to set.
     */
    public void setUsername(String value) {
        username = value;
    }

    // ---- Username property ----

    /**
     *

Field to store User password.


     *


     */
    private String password = null;


    /**
     *

Provide User password.


     *
     * @return Returns the User password.
     */
    public String getPassword() {
        return password;
    }

    /**
     *

Store new User password


     *
     * @param value The password to set.
     */
    public void setPassword(String value) {
        password = value;
    }

}

代码的描述 :

Connection :

这是java.sql包中的一个接口,通过指定的数据库像MySQL, Ms-Access, Oracle等和java文件建立连接.SQL语句执行于Connection接口的上下文中.

Class.forName(String driver):

该方法是static的.它试图动态加载类并返回类实例.当它匹配类的指定string时,它获得String类型值(driver).

DriverManager:

它是java.sql包中的一个类,管理一系列JDBC的驱动.每个驱动都通过该类注册.

getConnection(String url, String userName, String password):

该方法通过指定的数据库url建立数据库连接.它需要三个String类型的参数如 :

    url: - 需要连接的数据库url

userName: - 数据库用户名

password: - 数据库密码

con.close():

该方法用来断开连接.它释放了数据库占用的所有资源.

第四步 : 创建验证器.

验证文件的格式应该是-validation.xml或--validation.xml.

insert-validation.xml

Xml代码
  
      "-//OpenSymphony Group//XWork Validator 1.0.2//EN"   
      "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">  
         
  
    
      
      true  
      User name is required  
   
  
  
  
    
      
      true  
      Password is required  
   
  
  
  
  


      "-//OpenSymphony Group//XWork Validator 1.0.2//EN"
      "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
      

  
   
      true
      User name is required
   

  

  
   
      true
      Password is required
   

  



当在文本域中输入正确的数据后,用户将在insertSuccess.jsp页面得到输入的数据.

insertSuccess.jsp

Html代码
  
  
  
  
Inserted Data List  
  
  
  
  
Inserted Data:   
User name = <%=request.getParameter("username") %>!   
Password = <%=request.getParameter("password") %>!   
  
  
  





Inserted Data List




Inserted Data:
User name = <%=request.getParameter("username") %>!
Password = <%=request.getParameter("password") %>!




输出 :

当程序执行时用户得到如下页面 :



不填写任何字段并点击"Save"按钮,你将得到如下输出页面 :




如果你只输入"Password"并不输入其它字段并点击"Save"按钮,你将得到该输出页面 :




如果你只输入"User Name"并不输入其它字段并点击"Save"按钮,你将得到该输出页面 :


你可能感兴趣的:(Struts1.x/2.x,数据库)