新聞中心
Struts框架是一個(gè)基于MVC模式的Java EE Web應(yīng)用程序開發(fā)框架,它簡(jiǎn)化了開發(fā)過(guò)程,提高了系統(tǒng)的可維護(hù)性和可擴(kuò)展性。在Struts框架中,我們通常通過(guò)Action類處理用戶提交的請(qǐng)求,而Action類又通常需要從數(shù)據(jù)庫(kù)中讀取或?qū)懭霐?shù)據(jù)。本文將以一個(gè)簡(jiǎn)單的實(shí)例來(lái)介紹如何使用Struts框架連接數(shù)據(jù)庫(kù)。

創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括麻陽(yáng)網(wǎng)站建設(shè)、麻陽(yáng)網(wǎng)站制作、麻陽(yáng)網(wǎng)頁(yè)制作以及麻陽(yáng)網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,麻陽(yáng)網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到麻陽(yáng)省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
實(shí)例說(shuō)明
假設(shè)我們要開發(fā)一個(gè)簡(jiǎn)單的學(xué)生成績(jī)管理系統(tǒng),其主要功能包括添加學(xué)生、刪除學(xué)生和查詢學(xué)生成績(jī)。我們的數(shù)據(jù)庫(kù)包含一個(gè)名為Students的表,表結(jié)構(gòu)如下:
+—-+——–+——+——-+
| Id | Name | Age | Score |
+—-+——–+——+——-+
| 1 | 張三 | 18 | 90 |
| 2 | 李四 | 19 | 85 |
| 3 | 王五 | 20 | 95 |
+—-+——–+——+——-+
其中,Id為自增長(zhǎng)的主鍵,Name為學(xué)生姓名,Age為學(xué)生年齡,Score為學(xué)生分?jǐn)?shù)。
步驟一:建立項(xiàng)目
我們需要在Eclipse中建立一個(gè)Dynamic Web Project項(xiàng)目。在項(xiàng)目中,我們需要添加如下的jar包:commons-logging.jar、commons-lang.jar、commons-fileupload.jar、commons-io.jar、struts.jar、mysql-connector-java.jar。
步驟二:建立Action類
在建立Action類之前,我們需要先創(chuàng)建數(shù)據(jù)庫(kù)連接。在本實(shí)例中,我們使用MySQL數(shù)據(jù)庫(kù),其連接字符串為“jdbc:mysql://localhost:3306/Student”,其中Student為數(shù)據(jù)庫(kù)的名稱。我們可以通過(guò)如下的代碼來(lái)創(chuàng)建與數(shù)據(jù)庫(kù)的連接:
public class DBUtil {
private static String jdbcUrl = “jdbc:mysql://localhost:3306/Student”;
private static String jdbcUser = “root”;
private static String jdbcPassword = “123456”;
public static Connection getConnection() {
Connection conn = null;
try {
Class.forName(“com.mysql.jdbc.Driver”);
conn = DriverManager.getConnection(jdbcUrl, jdbcUser, jdbcPassword);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
}
接下來(lái),我們來(lái)創(chuàng)建Action類。在本實(shí)例中,我們需要如下的Action類:AddStudentAction、DeleteStudentAction和QueryStudentAction。下面我們以AddStudentAction類為例來(lái)說(shuō)明。
我們需要在struts.xml配置文件中對(duì)Action類進(jìn)行配置。在struts.xml中加入如下的代碼段:
success.jsp
error.jsp
其中,name為Action類的名字,class為Action類的實(shí)際Java類名。result用于指定Action類執(zhí)行成功或失敗之后展示的jsp頁(yè)面。
接下來(lái),我們來(lái)編輯AddStudentAction類。在類的開頭,我們需要導(dǎo)入所需要的類:
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
在類中,我們需要定義如下的變量:
private String name;
private String age;
private String score;
這些變量的作用是為接收用戶提交的表單數(shù)據(jù)。接下來(lái),我們需要重寫execute()方法:
public String execute() throws Exception {
HttpServletRequest request = ServletActionContext.getRequest();
HttpServletResponse response = ServletActionContext.getResponse();
Connection conn = DBUtil.getConnection();
PreparedStatement pstmt = null;
String sql = “INSERT INTO Students(Name, Age, Score) VALUES (?, ?, ?)”;
try {
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, name);
pstmt.setInt(2, Integer.valueOf(age));
pstmt.setInt(3, Integer.valueOf(score));
pstmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
return “error”;
} finally {
try {
if (pstmt != null) {
pstmt.close();
}
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
return “success”;
}
在重寫的execute()方法中,我們首先獲取request和response對(duì)象,然后通過(guò)DBUtil.getConnection()方法獲取數(shù)據(jù)庫(kù)連接。接下來(lái),我們使用PreparedStatement對(duì)象執(zhí)行SQL語(yǔ)句將表單數(shù)據(jù)添加到數(shù)據(jù)庫(kù)中,如果執(zhí)行失敗,則返回error,否則返回success。
步驟三:建立jsp頁(yè)面
我們需要建立如下的jsp頁(yè)面:add_student.jsp(用于添加學(xué)生信息)、delete_student.jsp(用于刪除學(xué)生信息)和query_student.jsp(用于查詢學(xué)生信息)。這些頁(yè)面通常包含表單,用戶可以在表單中輸入學(xué)生姓名、年齡和分?jǐn)?shù)等信息,然后通過(guò)Action類提交給服務(wù)器進(jìn)行處理。
下面我們以add_student.jsp為例進(jìn)行說(shuō)明。在P頁(yè)面中,我們需要添加如下的代碼:
| 姓名: | |
| 年齡: | |
| 分?jǐn)?shù): | |
其中,action屬性為Action類的名稱。表單提交后,服務(wù)器將自動(dòng)調(diào)用Action類的execute()方法進(jìn)行處理。
步驟四:運(yùn)行實(shí)例
在項(xiàng)目中,我們以tomcat服務(wù)器運(yùn)行項(xiàng)目,并訪問(wèn)http://localhost:8080/student/add_student.jsp頁(yè)面。輸入學(xué)生信息并點(diǎn)擊“添加”按鈕,即可將學(xué)生信息添加到數(shù)據(jù)庫(kù)中。在delete_student.jsp頁(yè)面中,我們可以通過(guò)web框架調(diào)用DeleteStudentAction類,從而實(shí)現(xiàn)刪除學(xué)生信息的功能。同樣的,在query_student.jsp頁(yè)面中,我們可以通過(guò)web框架調(diào)用QueryStudentAction類,從而實(shí)現(xiàn)查詢學(xué)生信息的功能。
使用Struts框架可以簡(jiǎn)化Java EE Web應(yīng)用程序的開發(fā)過(guò)程,提高系統(tǒng)的可維護(hù)性和可擴(kuò)展性。在本文中,我們通過(guò)一個(gè)簡(jiǎn)單的實(shí)例介紹了如何使用Struts框架連接數(shù)據(jù)庫(kù)。希望本文能對(duì)讀者在學(xué)習(xí)Struts框架時(shí)有所幫助。
相關(guān)問(wèn)題拓展閱讀:
- 求一份完整的Struts實(shí)現(xiàn)將excel導(dǎo)入mysql數(shù)據(jù)庫(kù)功能的代碼
- Struts2實(shí)現(xiàn)數(shù)據(jù)庫(kù)的增刪查改 框架
求一份完整的Struts實(shí)現(xiàn)將excel導(dǎo)入mysql數(shù)據(jù)庫(kù)功能的代碼
SQL
臘汪老
INSERT INTO student(sid,sname,address,phone)
VALUES (#sid#,#sname#,#address#,#phone#)
DAO
public void insert(Student s) throws SQLException {
sqlMapClient.insert(“insert”,s);
}
service:
public void excel2db(String file) throws SQLException, FileNotFoundException, IOException 陵帶{
Student s = new Student();
HSSFWorkbook workbook;
workbook = new HSSFWorkbook(new FileInputStream(file));
HSSFSheet sheet = workbook.getSheet(“sheet1”);
int rows = sheet.getPhysicalNumberOfRows();
//行索引從0開始,之一行(索引為0)為標(biāo)題,不寫入數(shù)據(jù)庫(kù),從第二行開始獲取數(shù)據(jù)
for (int r = 1; r
Struts2實(shí)現(xiàn)數(shù)據(jù)庫(kù)的增刪查改 框架
struts與數(shù)據(jù)庫(kù)的增刪查改沒(méi)關(guān)系,操作數(shù)據(jù)庫(kù)你可以用hibernate或者jdbc
struts實(shí)例 數(shù)據(jù)庫(kù)的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于struts實(shí)例 數(shù)據(jù)庫(kù),使用Struts框架連接數(shù)據(jù)庫(kù)的實(shí)例,求一份完整的Struts實(shí)現(xiàn)將excel導(dǎo)入mysql數(shù)據(jù)庫(kù)功能的代碼,Struts2實(shí)現(xiàn)數(shù)據(jù)庫(kù)的增刪查改 框架的信息別忘了在本站進(jìn)行查找喔。
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過(guò)10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗(yàn)。專業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊(cè)、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
本文標(biāo)題:使用Struts框架連接數(shù)據(jù)庫(kù)的實(shí)例(struts實(shí)例數(shù)據(jù)庫(kù))
瀏覽路徑:http://m.5511xx.com/article/djjeise.html


咨詢
建站咨詢
