在本章你将学习如何使用struts2连接MySQL数据库.

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

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

Xml代码

struts PUBLIC

"-//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

/p>

"-//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代码

Struts 2 Insert Data Application!

" rel="stylesheet"

type="text/css"/>

Please enter

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代码

validators PUBLIC

"-//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

/p>

"-//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 = !

Password = !

Inserted Data List

Inserted Data:

User name = !

Password = !

输出:

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

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

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

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

当两个字段都填写:

你将得到:

struts mysql_Struts2连接MySQL数据库(Struts2 MySQL)相关推荐

  1. MySQL数据库卸载+MySQL常用的图形化管理工具介绍

    MySQL数据库卸载 我们为什么需要卸载MySQL呢?可能是因为安装的时候安装出错,也可能是因为版本过低,导致一些问题没办法进行解决,所以需要卸载MySQL,重新安装最新版的MySQL. 第一步:停止 ...

  2. mysql数据库,mysql数据库监控介绍

    MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBM ...

  3. 清空mysql注册表步骤_完全卸载MySQL 数据库清空MySql注册表

    完全卸载MySQL 数据库--清空MySql注册表 完全卸载Mysql的步骤主要有以下4步: 1. 通过控制面板- 卸载程序--mysql 将其卸载掉. 2. 删除Mysql 安装文件目录下的Mysq ...

  4. mysql 数据库设置mysql注入_MYSQL数据库浅析MySQL的注入安全问题

    <MYSQL数据库浅析MySQL的注入安全问题>要点: 本文介绍了MYSQL数据库浅析MySQL的注入安全问题,希望对您有用.如果有疑问,可以联系我们. 如果把用户输入到一个网页,将其插入 ...

  5. mysql 5.7.11 安装教程,MySQL数据库之mysql 5.7.11 安装配置教程

    本文主要向大家介绍了MySQL数据库之mysql 5.7.11 安装配置教程 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 六步轻松搞定mysql5.7.11的安装 1.下载安 ...

  6. 带你走进MySQL数据库(MySQL入门详细总结一)

    导读:关于MySQL用三篇文章带你进入MySQL的世界. 带你走进MySQL数据库(MySQL入门详细总结二) 带你走进MySQL数据库(MySQL入门详细总结三) 文章目录 1.MySQL 2.My ...

  7. mysql c 驱动dll_C#调用MySQL数据库(使用MySql.Data.dll连接)mysql-connector-net-6.10.4.msi

    下载地址:http://dev.mysql.com/downloads/connector/net/ 安装指导 1.安装:mysql-connector-net-6.10.4.msi 其下载地址:ht ...

  8. mysql连接access失败_我用工具怎么连接不上mysql数据库的? MySql access denied for user错误...

    MySql access denied for user错误 方法/步骤 MySql远程连接时的"access denied for user **@**"错误,搞的我很头大,后来 ...

  9. 在eclipse上连接mysql数据库时mysql驱动包的路径问题

    今天在学习使用eclipse连接mysql数据库时,发现下载的mysql-connector-java-8.0.20.jar在测试的过程中无法连接数据库,这个问题我觉得主要是jar存放的路径问题,于是 ...

  10. laravel五、关于laravel使用宝塔面板连接云数据库(mysql)的问题

    问题一:数据库一直连接不上的问题,报 navicat连接宝塔数据库出现2003-Can't connect to MySQL server解决方案 解决办法: 因为云数据库使用了宝塔面板控制,宝塔安全 ...

最新文章

  1. codeblocks安装及使用教程(手把手傻瓜式教学)
  2. list替换某一项需要遍历比对再set到对应的position
  3. MySQL字符串截取函数
  4. python的os模块基本使用
  5. UDP打洞NAT大致分为下面四类 P2P
  6. 在docker上和ubuntu上运行InfoGAN
  7. Annotation-specified bean name ‘mapper‘ for bean class [com.thoughtworks.xstream.mapper.Mapper] conf
  8. java 彻底删除文件_如何删除java文件
  9. 数据库较长数据导出到excel单元格变成科学计数法
  10. Nanopore 纳米孔 测序数据处理 微生物 16S全长 Centrifuge的安装和使用
  11. 怎么设置cmd 以管理员身份运行
  12. IFC学习相关资料加强版 致敬黑夜的骑士
  13. 室内设计和平面设计哪个更适合女生学习?
  14. 网口灯电路——反相器
  15. freeswitch系列31注册流程
  16. 《大天蓬》片尾升华,燃情!
  17. Android.bp 语法和使用
  18. 【人工智能】群智能算法
  19. 估值11亿美元新独角兽诞生,网易有道CEO周枫:宁愿十年挖一口井
  20. leetcode 526优美的数列

热门文章

  1. VS通过opencv显示图片和打开相机的显示生成dll用unity调用
  2. 190513每日一句
  3. unity 插件 color picker htc手柄控制,扣动扳机生成三维点线
  4. Atitit 歌曲年份抓取的nlp ai项目 原理通过百度搜索,抓取第一页数据,正则数字,过滤年份。。 显示格式。。歌曲,年份,年份周围前后40字符,方便核对 通过百科抓取比较准确 红尘情歌
  5. Atitit 机器学习算法分类 目录 1. 传统的机器学习算法 vs 深度学习 1 1.1. 传统的机器学习算法包括决策树、聚类、贝叶斯分类、支持向量机、EM、Adaboost等等。 2 2. 监
  6. Atitit office Ooxml excel标准的主要内容 目录 1.1. 物理存储 zip+文件夹包+xml 1 1.2. Package Structure 1 1.3. 内容部分 1
  7. Atitit 三种并发编程模型 艾龙 attilax总结 1. 并发系统可以使用不同的并发模型去实现。 1 2. 并行工作者 并行工作者模型。进来的任务分配给不同的工作者 银行模式 2 2.1.
  8. paip.编程语言方法重载实现的原理及python,php,js中实现方法重载
  9. paip.android APK安装方法大总结系统应用的安装
  10. (转)证券投资及财富管理市场创新趋势