1. 程式人生 > >Java後臺開發Servlet學習(一)

Java後臺開發Servlet學習(一)

一、Servlet介紹

  開始接觸一個新的東西,首先要知道它是幹什麼的吧。Servlet(Server Applet)是Java Servlet的簡稱,稱為小服務程式或服務聯結器,用Java編寫的伺服器端程式,主要功能在於互動式地瀏覽和修改資料,生成動態Web內容。我自己的理解就是對客戶端或者瀏覽器傳送的請求進行處理,作出相應的響應。其過程如下:

  1. 客戶端傳送請求至伺服器端;
  2. 伺服器將請求資訊傳送至 Servlet;
  3. Servlet 生成響應內容並將其傳給伺服器。響應內容動態生成,通常取決於客戶端的請求;
  4. 伺服器將響應返回給客戶端。

二、環境配置

  需要準備的:

  1.eclipse

  2.MySQL

  3.Tomcat

  具體怎麼配置不說了,網上教程很多

三、建立一個servlet

  首先建立一個Dynamic Web Project專案

  

  工程名

  

  下面都是直接下一步,到最後一步的時候記得勾上這個

  

  點選完成,專案就建立完畢了,先來看看專案的結構

  

  首先是src資料夾/包,裡面是各種原始碼,servlet類也是在這裡面建立,然後是Libraries,是你包含的各種庫/包(jar),再然後是web.xml,這個也就是之前建立專案勾選自動建立的,這個是專案的配置檔案,servlet寫出來也需要用這個檔案配置之後才能訪問到,下面我們來駕駛建立第一個servlet吧

  右鍵src新建->servlet

  

  

  Java package,也就是你想把這個servlet類放在哪個包裡面

  class name ,servlet類名

  

  一直下一步,在最後勾選上doPost和doGet

  

  點選完成

  我們需要做的就是將doPost、doGet實現,兩者的差別我也不清楚在哪,目前的理解就是兩種不同的傳遞資訊的方式

  我們先來看看doGet

  

  首先是型別,void型,也就是沒有返回值

  然後是引數,引數有兩個,request和response,也就是請求和響應,請求中包含客戶端傳入的資訊,比如客戶端需要登入或者註冊時就會將賬號密碼寫入request中,然後傳送給服務端,服務端或者說servlet可以通過request.getParameter(String arg0)來獲取其中的資訊,傳入的引數是變數名,返回的是變數的值(string格式),response則是對請求的響應,目前我瞭解到的就只有getWriter函式,這個函式可以得到一個PrintWriter物件,該物件可以向客戶端/瀏覽器傳送文字字元,下面我們先簡單的做一個HelloWorld的輸出

  首先用response獲取PrintWriter物件

PrintWriter out = response.getWriter();

  然後用out進行輸出

out.println("HelloServlet!");

  接下來我們去配置xml檔案

<web-app version="2.5" 
	xmlns="http://java.sun.com/xml/ns/javaee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <servlet>
     <!-- 類名 -->
    <servlet-name>HelloWorld</servlet-name>
    <!-- 所在的包 -->
    <servlet-class>com.test.demo.HelloWorld</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>HelloWorld</servlet-name>
    <!-- 訪問的網址 -->
    <url-pattern>/servlet/HelloWorld</url-pattern>
    </servlet-mapping>
</web-app>

  要注意的就是類名 所在的包 訪問的路徑幾個地方

  接下來就可以執行看看結果了

  

  右鍵點選專案名,執行方式->Run on Server

阿嘞,這和說好的不太一樣,其實是正常的,因為輸入的路徑根本就不對嘛,在後面加上servlet/HelloWorld就可以啦

路徑是根據我們xml中配置的情況決定的,具體的我也不太懂2333,但是可以看這個

這個也就是在後面接上什麼呼叫什麼類,所以我們在後面加上/HelloWorld也是可以的

嗯,差不多就是這些了,下一篇寫連線MySQL吧