在真正進入代碼編寫前些進行一些工具的準備:
1.保證有一個可用的資料庫,這裡我用sql server 2000為例,2.擁有一個ide,如ecelise或myeclipse等,這裡我使用的是myeclipse 8.5
3.資料庫連接的架包;
這裡資料庫的安裝就不說了,如果你安裝的sql server 2000的話,你在使用jdbc進行串連時還需要打上sp3補丁;
一切準備就緒後我們就開始進入正題了:
1.首先我們在file--->New---->Web Project(也可以再Package Explore視圖中右鍵一樣的)
在Project Name 中輸入項目名(這裡先輸入HelloWorld,算作我們的第一個Web項目),然後點擊finish即可;可以看到右邊就出現了一個Web項目:
具體上面每一部分的作用這裡就不細說了,大家可查閱基礎的書籍進行瞭解
2.然後我們將要串連資料的jar包先放到WEB-INF下的lib目錄下(以後我們就將所需要的jar都放到該目錄下即可):
由於有IDE支援負責和粘貼,我們只需要負責jar包後到IDE項目下的lib目錄下就行粘貼就可以了
3.我們先在頁面端index.jsp(也可以大家自己進行建立jsp或html頁面)寫一個簡單的註冊頁面,代碼如下:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>資料庫實戰之註冊</title></head><body><center> <form name="form" action="RegisterServlet" method="post"> <input type="text" name="username" id="username" /> <input type="password" name="password" id="password" /> <input type="password" name="repassword" id="repassword" /> <input type = "submit" name = "register" value = "註冊"> <input type = "reset" name = "re" value = "重設"> </form></center></body></html>
注意的問題:我們在一般情況下都是將編碼格式改為utf-8的,<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
接下來我們先來看下頁面的效果,先不管背景互動;這裡我們就需要將項目載入到應用伺服器中,這裡我們選用的是開源的伺服器Tomcat 6.0,
具體安裝可以見:java入門第五步之tomcat的安裝http://www.cnblogs.com/shenliang123/archive/2012/04/24/2468036.html
4.接下來我們進行項目的部署:
首先點擊左邊的按鈕進行項目的部署
在project選擇你要部署的項目,這裡選擇HelloWorld,然後點擊Add按鈕,在出現的介面中的server選擇tomcat伺服器,這裡選擇tomcat 6.x---->點擊finish
然後成功載入後點擊OK即可,項目部署結束了
5.現在可以啟動伺服器了,在的右邊按鈕點擊後在下拉框中選擇tomcat 6.x----->Start後可以看到控制台會列印出資訊---->待顯示啟動時間後表示載入完成了
6.現在你就可以開啟瀏覽器進行訪問了;在開啟的瀏覽器地址中輸入地址為:http://localhost:8080/HelloWorld/index.jsp
可以看到網頁上輸出:(這裡我們頁面的美觀度先不去管)
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
接下來我們要進行後台代碼的編寫了,要進行資料的互動了,我們可以看到我們上面建立的那個頁面的幕後處理是在RegisterServlet;
在進行代碼書寫時,我們先在sql server 2000中建立一個test資料庫,欄位分別為id,username,password其中id為自增
1.我們現在當前項目的src目錄下建立servlet:選中src目錄右鍵---->New----->servlet----->
Name選項中必須填入頁面端需要訪問的servlet名----->Next---->預設點擊finish即可---->
現在我們可以去WEB-INF下的web.xml中看下:有如下代碼
<servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>RegisterServlet</servlet-name> <servlet-class>xidian.sl.servlet.RegisterServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>RegisterServlet</servlet-name> <url-pattern>/servlet/RegisterServlet</url-pattern> </servlet-mapping>
簡單說下原理:頁面端訪問servlet----->先會到web.xml設定檔中的<servlet-mapping>標籤下的<servlet-name>標籤中尋找對應的名字----->找到後會根據
<url-pattern>標籤下的名字去<servlet>標籤下的<servlet-name>尋找名字對應的------>找到後根據<servlet-class>下的全名進行尋找該servlet的具體位置;
看懂了上面的意思後,我們應該知道在建立一個servlet類時我們不一定選擇New----->servlet,也可直接選擇New----->classes,然後在到web.xml中手動進行配置,
前者做法是比較偷懶的做法,大家可以試試後者看;
2.接下來我們繼續回到我們建立的servlet類中,我們可以看到IDE工具已經幫我們產生了部分代碼,servlet中重要的就是doGet()和doPost()兩個方法,具體調用哪個
方法,就看頁面端的提交方式:由method="post"可以提交方式為post,因此我們的代碼就可以先只在doPost中進行書寫,
在書寫代碼前我們要進行資料庫的串連操作,這裡我採用的是自己封裝好的類:http://www.cnblogs.com/shenliang123/archive/2012/04/19/2456665.html
為了方便起見我直接將該類放在與servlet的同一包下,以後大家自己做時可將其分開放置:
servlet類中的doPost方法代碼:
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); response.setCharacterEncoding("utf-8"); request.setCharacterEncoding("utf-8"); /** * 使用request.getParameter(String str)可以獲得頁面端傳遞的參數,該方法的參數就是頁面端傳遞的Name值 * */ String username = request.getParameter("username"); //帳號 String password = request.getParameter("password"); //密碼 //列印看是否已經獲得該值 System.out.println("使用者名稱:" +username + " 密碼:"+password); PrintWriter out = response.getWriter(); try { /** * 以下是根據帳號來查詢資料庫,看該使用者名稱是否已被申請 * */ String sql = "select id from users where username='"+username+"'"; DbConn dbConn = new DbConn(); String[][] data = dbConn.getData(sql); if(data == null|| (data != null&& data.length == 0)){ //進行資料庫的添加 String sql_insert = "insert into users(username, password) values('"+username+"', '"+password+"')"; dbConn.update(sql_insert); out.println("<script language='javascript'>alert('使用者註冊成功!!');window.location.href='index.jsp';</script>"); out.flush(); out.close(); }else{ out.println("<script language='javascript'>alert('帳號已被申請,請重輸!');window.location.href='index.jsp';</script>"); } }catch(Exception e){ e.printStackTrace(); } }
然後訪問頁面端,輸入使用者名稱和帳號後點擊註冊,返回成功後:
查看資料庫:
到此我們的第一個web項目就宣告成功了,現階段我們對頁面端沒有太多的控制,在以後的學習中會慢慢加入的