1、jsp是java服務(wù)端動(dòng)態(tài)網(wǎng)頁(yè)技術(shù),主要應(yīng)用于網(wǎng)頁(yè)構(gòu)建,理論上講不應(yīng)該在頁(yè)面中直接連數(shù)據(jù)庫(kù)。合理的做法是先構(gòu)建一個(gè)java后端,然后在JAVA后端中通過(guò)jdbc連接sqlserver。
成都創(chuàng)新互聯(lián)公司是一家網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站設(shè)計(jì),提供網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),網(wǎng)站制作,建網(wǎng)站,定制網(wǎng)站,網(wǎng)站開(kāi)發(fā)公司,2013年至今是互聯(lián)行業(yè)建設(shè)者,服務(wù)者。以提升客戶(hù)品牌價(jià)值為核心業(yè)務(wù),全程參與項(xiàng)目的網(wǎng)站策劃設(shè)計(jì)制作,前端開(kāi)發(fā),后臺(tái)程序制作以及后期項(xiàng)目運(yùn)營(yíng)并提出專(zhuān)業(yè)建議和思路。
2、如果一定要在jsp頁(yè)面中連數(shù)據(jù)庫(kù)也是可以的。jsp中有專(zhuān)門(mén)的sql標(biāo)簽可以連接數(shù)據(jù)庫(kù)進(jìn)行操作,這是jstl的內(nèi)容,需要導(dǎo)入相應(yīng)的數(shù)據(jù)庫(kù)驅(qū)動(dòng)包。
3、jsp的內(nèi)容相對(duì)來(lái)說(shuō)技術(shù)難度都不算特別高,學(xué)習(xí)起來(lái)還是比較容易的。
4、希望對(duì)你有幫助。
jsp連接MySQL數(shù)據(jù)庫(kù)
testmysql.jsp如下:
%@ page contentType="text/html;charset=gb2312"%
%@ page import="java.sql.*"%
html
body
%Class.forName("org.gjt.mm.mysql.Driver").newInstance();
String url ="jdbc:mysql://localhost/softforum?user=softpassword=soft1234useUnicode=truecharacterEncoding=8859_1"
//testDB為你的數(shù)據(jù)庫(kù)名
Connection conn= DriverManager.getConnection(url);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%
您的第一個(gè)字段內(nèi)容為:%=rs.getString(1)%
您的第二個(gè)字段內(nèi)容為:%=rs.getString(2)%
%}%
%out.print("數(shù)據(jù)庫(kù)操作成功,恭喜你");%
%rs.close();
stmt.close();
conn.close();
%
/body
/html
Class.forName("com.mysql.jdbc.Driver");
Connection conn=DriverManager.getConnection("jdbc:mysql://"+host+"/"+dbname,username,password);
Statement Stmt=conn.createStatement();
ResultSet rs=Stmt.executeQuery(sql);
這是基本的數(shù)據(jù)庫(kù)操作方法
導(dǎo)入jdbc驅(qū)動(dòng)程序包其實(shí)有很多種方法,但是不同的導(dǎo)包方式有不同的含義,
1、給Tomcat導(dǎo)包(表示服務(wù)器可能要用到數(shù)據(jù)庫(kù),例如數(shù)據(jù)源),如果是MyEclipse集成Tomcat,顯然是要用“右鍵項(xiàng)目 - Properties - Java Build Path - 右側(cè)選項(xiàng)卡選擇Libraries - Add JARs...”。如果是非集成Tomcat,你必須把驅(qū)動(dòng)程序包復(fù)制粘貼在Tomcat根目錄“common\lib”文件夾下。
2、給Web項(xiàng)目導(dǎo)包(表示W(wǎng)eb項(xiàng)目需要使用到數(shù)據(jù)庫(kù)),把驅(qū)動(dòng)程序包復(fù)制粘貼到“Web項(xiàng)目\WEB-INF\lib”文件夾下。同時(shí)也要在Tomcat的webapps\Web項(xiàng)目\WEB-INF\lib文件夾中粘貼驅(qū)動(dòng)程序。
3、給單純Java項(xiàng)目導(dǎo)包(表示W(wǎng)eb項(xiàng)目需要使用到數(shù)據(jù)庫(kù)),對(duì)著project單擊右鍵,選擇Bulid Path選擇Add External Achieves再選擇mysqljdbc.jar 或者將其添加到classpath中去。
%@ page language="java" import="java.util.*" pageEncoding="utf-8"%
%@ page import="java.sql.*" %
body
%
String driver = "com.mysql.jdbc.Driver";
// URL指向要訪問(wèn)的數(shù)據(jù)庫(kù)名test1
String url = "jdbc:mysql://127.0.0.1:3306/test";
// MySQL配置時(shí)的用戶(hù)名
String user = "root";
// Java連接MySQL配置時(shí)的密碼
String password = "111";
try {
// 1 加載驅(qū)動(dòng)程序
Class.forName(driver);
// 2 連接數(shù)據(jù)庫(kù)
Connection conn = DriverManager.getConnection(url, user, password);
// 3 用來(lái)執(zhí)行SQL語(yǔ)句
Statement statement = conn.createStatement();
// 要執(zhí)行的SQL語(yǔ)句
String sql = "select * from login";
ResultSet rs = statement.executeQuery(sql);
String name = null;
String mima=null;
while (rs.next()) {
name = rs.getString("userName");
mima = rs.getString("passWord");
out.println(name+"\t"+mima);
}
rs.close();
conn.close();
} catch (ClassNotFoundException e) {
System.out.println("Sorry,can`t find the Driver!");
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
%
/body
1、導(dǎo)入.sql文件命令:mysql
use
數(shù)據(jù)庫(kù)名;mysql
source
d:/mysql.sql;
2、建立數(shù)據(jù)庫(kù):mysql
create
database
庫(kù)名;
3、建立數(shù)據(jù)表:mysql
use
庫(kù)名;mysql
create
table
表名
(字段名
varchar(20),
字段名
char(1));
4、刪除數(shù)據(jù)庫(kù):mysql
drop
database
庫(kù)名;
5、刪除數(shù)據(jù)表:mysql
drop
table
表名;
6、將表中記錄清空:mysql
delete
from
表名;
7、往表中插入記錄:mysql
insert
into
表名
values
("hyq","m");
8、更新表中數(shù)據(jù):mysql-
update
表名
set
字段名1='a',字段名2='b'
where
字段名3='c';
9、用文本方式將數(shù)據(jù)裝入數(shù)據(jù)表中:mysql
load
data
local
infile
"d:/mysql.txt"
into
table
表名;
我寫(xiě)的一個(gè)用JSP連接MySQL數(shù)據(jù)庫(kù)的代碼。
要正確的使用這段代碼,你需要首先在MySQL數(shù)據(jù)庫(kù)里創(chuàng)建一username表,表里面創(chuàng)建兩個(gè)字符型的字段,字段名分別為:uid,pwd,然后插入幾條測(cè)試數(shù)據(jù)。
以下用兩種方式來(lái)實(shí)現(xiàn)JSP連接MySql數(shù)據(jù)庫(kù)。
第一種方式,用JSP實(shí)現(xiàn)。
%@ page contentType="text/html; charset=gb2312" language="java"
import="java.sql.*"%
%
//**************************************
********* JDBC_ODBC連接MySql數(shù)據(jù)庫(kù),不需要設(shè)置數(shù)據(jù)源
*********************************/
//********** 數(shù)據(jù)庫(kù)連接代碼 開(kāi)始 ******/
//以下幾項(xiàng)請(qǐng)自行修改
String server="localhost"; //MYSQL 服務(wù)器的地址
String dbname="test"; //MYSQL 數(shù)據(jù)庫(kù)的名字
String user="root"; //MYSQL 數(shù)據(jù)庫(kù)的登錄用戶(hù)名
String pass="chfanwsp"; //MYSQL 數(shù)據(jù)庫(kù)的登錄密碼
String port="3306"; //SQL Server 服務(wù)器的端口號(hào),默認(rèn)為1433
//數(shù)據(jù)庫(kù)連接字符串
String url ="jdbc:mysql://"+server+":"+port+"/"+dbname+"?user="+user+
"password="+pass+"useUnicode=truecharacterEncoding=GB2312";
//加載驅(qū)動(dòng)程序
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
//建立連接
Connection conn= DriverManager.getConnection(url);
//創(chuàng)建語(yǔ)句對(duì)象
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
// **** 數(shù)據(jù)庫(kù)連接代碼 結(jié)束 *******
String sql="select * from username";
ResultSet rs=stmt.executeQuery(sql);
//rs.first();
while(rs.next()){
out.print("用戶(hù)名:");
out.print(rs.getString("uid")+" 密碼:");
out.println(rs.getString("pwd")+"
");
}
rs.close();
stmt.close();
conn.close();
%
第二種方式,用JavaBean來(lái)實(shí)現(xiàn)。請(qǐng)看代碼:
DBConnMySql.java
編譯以后的Class文件應(yīng)該放在WEB-INF\classes\conn目錄下。
package conn; //導(dǎo)入包
import java.sql.*; //導(dǎo)入數(shù)據(jù)庫(kù)操作的類(lèi)
public class DBConnMySql //構(gòu)造方法,初始化
{
private Connection conn; //連接對(duì)象
private Statement stmt; //語(yǔ)句對(duì)象
private ResultSet rs; //結(jié)果集對(duì)象
private String MySqldriver;//MYSQL Server驅(qū)動(dòng)程序字符串
private String MySqlURL; //MYSQL Server連接字符串
//********************************
*用 org.gjt.mm.mysql.Driver 驅(qū)動(dòng)
* 該方法取得連接所需各種參數(shù),組成連接字符串,然后再建立連接
* server;dbname,user,pass,port 分別表示MYSQL 服務(wù)器的地址,
* 數(shù)據(jù)庫(kù),用戶(hù)名,密碼,端口
**********************************/
public Connection getConnToMySql(String server,String dbname,
String user,String pass,String port){
//MYSQl驅(qū)動(dòng)程序
MySqldriver = "org.gjt.mm.mysql.Driver";
MySqlURL = "jdbc:mysql://"; //連接字符串一部分
try{
//完整的連接字符串
MySqlURL =MySqlURL+server+":"+port+"/"+dbname+
"?user="+user+"password="+pass+
"useUnicode=truecharacterEncoding=GB2312";
Class.forName(MySqldriver);
conn = DriverManager.getConnection(MySqlURL);
}catch(Exception e){
System.out.println("操作數(shù)據(jù)庫(kù)出錯(cuò),請(qǐng)仔細(xì)檢查");
//System.err.println(e.getMessage());
}
return conn;
}
//關(guān)閉數(shù)據(jù)庫(kù)連接
public void close()
{
try{
//rs.close();
//stmt.close();
conn.close();
}catch(SQLException sqlexception){
sqlexception.printStackTrace();
}
}
}
這個(gè)文件只是實(shí)現(xiàn)了數(shù)據(jù)庫(kù)的連接,下面我們?cè)賹?xiě)一個(gè)測(cè)試文件。
就是用sql語(yǔ)句從數(shù)據(jù)庫(kù)里查詢(xún)出記錄,以驗(yàn)證我們數(shù)據(jù)庫(kù)的連接是否成功。
connmysql.jsp文件源代碼如下:
%@ page contentType="text/html; charset=gb2312" language="java"
import="java.sql.*" %
%
//以下幾項(xiàng)請(qǐng)自行修改
String server="localhost"; //MYSQL 服務(wù)器的地址
String dbname="test"; //MYSQL 數(shù)據(jù)庫(kù)的名字
String user="root"; //MYSQL 數(shù)據(jù)庫(kù)的登錄用戶(hù)名
String pass="chfanwsp"; //MYSQL 數(shù)據(jù)庫(kù)的登錄密碼
String port="3306"; //SQL Server 服務(wù)器的端口號(hào),默認(rèn)為1433
Connection conn=DBConn.getConnToMySql(server,dbname,user,pass,port);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
String sql="select * from username";
String sql1="insert into username (uid,pwd) values('夢(mèng)想年華','夢(mèng)想年華')";
stmt.executeUpdate(sql1);
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()){
out.print("用戶(hù)名:");
out.print(rs.getString("uid")+" 密碼:");
out.println(rs.getString("pwd")+"
");
}
//rs.close();
//stmt.close();
//conn.close();
DBConn.close();
%
網(wǎng)頁(yè)題目:jsp怎么連接mysql jsp怎么連接css
路徑分享:http://jinyejixie.com/article6/hejpog.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、、ChatGPT、網(wǎng)站維護(hù)、企業(yè)網(wǎng)站制作、外貿(mào)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)