jsp連接數據庫——數據庫連接設置


數據庫連接准備:

一、

my sql、myeclipse、mysql-connector-java-5.1.40-bin.jar包。

數據庫的安裝不說了,網上有教程。需要注意的是:第一次用數據庫一定要記住賬號對應的密碼,否則再后來建立連接時忘記密碼需要重改非常麻煩。

mysql-connector-java-5.1.40-bin.jar包,網上有,自己下。

二、

eclipse開發只需要導入即可,myeclipse開發web一定要導入到服務器下。

需要注意的是這個jar包導入超級費勁,如果你按照網上的教程總是不成功,可以參考我的:把jar包放到這個目錄下:

C:\Users\Administrator\Workspaces\MyEclipse 2017 CI\Student_Magement_System\WebRoot\WEB-INF\lib,其中紅色部分是你的項目名稱。

//以下綠色字體是我無恥粘貼過來的。(http://blog.csdn.net/coolcoffee168/article/details/8237661

首先,放在tomcat安裝目錄的lib文件夾下肯定沒有問題的。這時eclipse引用的jar文件可以在任意路徑。

其次,可以將jar文件放在webapp\web-inf\lib目錄下(及工程目錄中的webcontent\web-inf\lib目錄),這時eclipse引用的jar文件應在webcontent\web-inf\lib目錄下。

 但是這兩種方式都不是很合理,放在tomcat安裝目錄的lib文件夾下相當於是全局共享這個包,但這真的有必要么?放在webapp\web-inf\lib目錄下,實際是把jar放到了jsp等文本代碼的目錄中了。明明eclipse工程中組織好的目錄是在src\web-inf\lib呀。

 其實,完全可以把jar包放在src\WEB-INF\lib目錄下,這時開發時沒有問題,調試時tomcat會找不到這個包,很簡單,在項目屬性中Deloyment Assembly配置頁,設置src\WEB-INF\lib目錄發布到WEB-INF\lib目錄就好了,這樣調試時會自動復制到tomcat對應的目錄(build\classes\WEB-INF\lib)中。將來打包時也會正確處理的。

 

關於數據庫還有一點,my sql安裝好沒有圖形交互界面,就是一個指令窗口。所以一般推薦安裝一些良好的數據庫管理軟件,有良好的可視性,操作也方便。主要是新學調試方便。

推薦navicat(收費的),當然其他的也有,我沒試過。

三、

 注冊驅動並建立數據庫連接:

建立驅動:

Class.forName("com.mysql.jdbc.Driver");

連接數據庫:數據庫連接字(數據庫服務器IP地址及訪問數據庫的端口號、數據庫名稱、訪問數據庫用戶名稱及密碼有時指定采用字符編碼格式

jdbc:mysql://localhost:3306/student?user=root&password=20143243&useUnicode=true&characterEncoding=gb2312

不會自己查,照着各種資料寫就可以。

以下是數據庫連接中的常出現的錯誤:

1.拼寫錯誤

是的,請看清楚,我第一次寫就把jdbc寫成jbdc卻一直找不到錯誤。這種錯誤很難發現,所以提個醒。

2.找不到驅動

忘了報錯的描述了,一般如果語法沒有錯誤,那就應該是connector.jar包導入出現問題。

3.漢字亂碼

設計web程序使用統一字符編碼:

1.數據庫數據表建立。

2.數據庫讀寫操作采用的編碼格式。

3.jsp頁面傳遞參數(request對象)。

4.jsp頁面(HTML)。

5.服務器響應(response),返回客戶端信息。

以上幾個過程一定注意聲明字符格式。一般使用UTF-8和gb2312。

注意以下代碼聲明字符格式的地方(紅色):

 1 <%@ page language="java" import="java.sql.*" pageEncoding="gb2312"%>
 2 <%request.setCharacterEncoding("gb2312");%>
 3 <%
 4 String path = request.getContextPath();
 5 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
 6 %>
 7 
 8 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 9 <html>
10   <head>
11     <base href="<%=basePath%>">
12     
13     <title>My JSP 'insert_stu_1.jsp' starting page</title>
14     
15     <meta http-equiv="pragma" content="no-cache">
16     <meta http-equiv="cache-control" content="no-cache">
17     <meta http-equiv="expires" content="0">    
18     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
19     <meta http-equiv="description" content="This is my page">
20     <!--
21     <link rel="stylesheet" type="text/css" href="styles.css">
22     -->
23 
24   </head>
25   
26   <body>
27   <%
28   Class.forName("com.mysql.jdbc.Driver");
29   Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/student?user=root&password=20143243&useUnicode=true&characterEncoding=gb2312");
30   String sql="Insert into stu_info(id,name,sex,age,weight,hight)values(?,?,?,?,?,?)";
31   PreparedStatement pstmt=con.prepareStatement(sql);
32   int id=Integer.parseInt(request.getParameter("id"));
33   String name=request.getParameter("name");
34   String sex=request.getParameter("sex");
35   int age=Integer.parseInt(request.getParameter("age"));
36   float weight=Float.parseFloat(request.getParameter("weight"));
37   float hight=Float.parseFloat(request.getParameter("hight"));
38   pstmt.setInt(1,id);
39   pstmt.setString(2,name);
40   pstmt.setString(3,sex);
41   pstmt.setInt(4,age);
42   pstmt.setFloat(5,weight);
43   pstmt.setFloat(6,hight);
44   int n=pstmt.executeUpdate();
45   if(n==1){%>數據插入成功<br><%}
46   else{%>數據插入失敗<br><%}
47   if(pstmt!=null){pstmt.close();}
48   if(con!=null){con.close();}
49   %>
50   </body>
51 </html>
 1 <%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
 2 <%request.setCharacterEncoding("gb2312");%>
 3 <%
 4 String path = request.getContextPath();
 5 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
 6 %>
 7 
 8 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 9 <html>
10   <head>
11     <base href="<%=basePath%>">
12     
13     <title>My JSP 'insert_stu_2_tijiao.jsp' starting page</title>
14     
15     <meta http-equiv="pragma" content="no-cache">
16     <meta http-equiv="cache-control" content="no-cache">
17     <meta http-equiv="expires" content="0">    
18     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
19     <meta http-equiv="description" content="This is my page">
20     <!--
21     <link rel="stylesheet" type="text/css" href="styles.css">
22     -->
23 
24   </head>
25   
26   <body>
27   <form action="insert_stu_1.jsp"method="post">
28   <table border="0"width="238"height="252">
29   <tr><td>學號</td><td><input type="text"name="id"></td></tr>
30   <tr><td>姓名</td><td><input type="text"name="name"></td></tr>
31   <tr><td>性別</td><td><input type="text"name="sex"></td></tr>
32   <tr><td>年齡</td><td><input type="text"name="age"></td></tr>
33   <tr><td>體重</td><td><input type="text"name="weight"></td></tr>
34   <tr><td>身高</td><td><input type="text"name="hight"></td></tr>
35   <tr align="center">
36   <td colspan="2">
37   <input type="submit"value="提交">&nbsp;&nbsp;&nbsp;
38   <input type="reset"value="取消">
39   </td></tr>
40   </table></form>
41   </body>
42 </html>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM