java入門第五步之資料庫專案實戰

來源:互聯網
上載者:User

在真正進入代碼編寫前些進行一些工具的準備:

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項目就宣告成功了,現階段我們對頁面端沒有太多的控制,在以後的學習中會慢慢加入的

 

 

 

 

 

 

 

 

 

 

 

 

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.