按照如下步骤连接MySQL数据库 :
第一步 : 创建struts.xml并向其中添加如下xml代码 :
Xml代码
?>
/p>
"-//Apache Software Foundation//DTD Struts
Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
name="struts.enable.DynamicMethodInvocation"
value="false" />
value="true" />
file="struts-default.xml"/>
name="roseindia" namespace="/roseindia"
extends="struts-default">
name="insert">
/pages/insertData.jsp
class="net.roseindia.insert">
name="error">/pages/insertData.jsp
/pages/insertSuccess.jsp
?>
/p>
"-//Apache Software Foundation//DTD
Struts
Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
name="struts.enable.DynamicMethodInvocation"
value="false" />
value="true" />
file="struts-default.xml"/>
name="roseindia" namespace="/roseindia"
extends="struts-default">
name="insert">
/pages/insertData.jsp
class="net.roseindia.insert">
name="error">/pages/insertData.jsp
/pages/insertSuccess.jsp
第二步 : 创建一个JSP输入表单 :
insertData.jsp
Html代码
%>
Struts 2 Insert DataApplication!
" rel="stylesheet"
type="text/css"/>
validate="true">
Please enter
label="Password"/>
align="center"/>
%>
Struts 2 Insert DataApplication!
" rel="stylesheet"
type="text/css"/>
validate="true">
Please enter
label="Password"/>
align="center"/>
第三步 : 创建一个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.*;
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
----
private
String username = null;
public
String getUsername() {
return username;
}
public
void setUsername(String value) {
username = value;
}
// ----
Username property ----
private
String password = null;
public
String getPassword() {
return password;
}
public
void setPassword(String value) {
password = value;
}
}
package net.roseindia;
import com.opensymphony.xwork2.ActionSupport;
import java.util.Date;
import java.sql.*;
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
----
private
String username = null;
public
String getUsername() {
return username;
}
public
void setUsername(String value) {
username = value;
}
// ----
Username property ----
private
String password = null;
public
String getPassword() {
return password;
}
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代码
encoding="UTF-8"?>
/p>
"-//OpenSymphony Group//XWork Validator
1.0.2//EN"
"http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
name="username">
type="requiredstring">
name="trim">true
User name
is required
name="password">
type="requiredstring">
name="trim">true
Password
is required
encoding="UTF-8"?>
/p>
PUBLIC
"-//OpenSymphony Group//XWork Validator
1.0.2//EN"
"http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
name="username">
type="requiredstring">
name="trim">true
User name
is required
name="password">
type="requiredstring">
name="trim">true
Password
is required
当在文本域中输入正确的数据后,用户将在insertSuccess.jsp页面得到输入的数据.
insertSuccess.jsp
Html代码
Inserted DataList
Inserted Data:
User name =
%>!
Password =
%>!
Inserted DataList
Inserted Data:
User name =
%>!
Password =
%>!
输出 :
当程序执行时用户得到如下页面 :
不填写任何字段并点击"Save"按钮,你将得到如下输出页面 :
如果你只输入"Password"并不输入其它字段并点击"Save"按钮,你将得到该输出页面 :