轉自:https://blog.csdn.net/krystal_sl/article/details/52847953
新建一個項目的步驟
打開eclipse,右鍵點擊new–>java project,會出現如下頁面。填寫一個Project name,比如我在這里填寫的是java_demo。然后按finish一個項目就創建好了。

修改項目的編碼為UTF-8,具體步驟是右鍵項目名,選擇最下面的Properties選項,會彈出如下頁面,點擊左側第一個Resource選項,會看到Text file coding,選擇第二個other,選擇UTF-8編碼方式。這里說下為什么要選擇UTF-8編碼方式,因為我們以后開發中很多情況下會用到國外的文檔和包,很多都是用UTF-8編寫的,這樣引用起來會編碼一致。點擊ok就設置好了

在項目里新建一個webapp1文件夾,右鍵項目名,選擇new–>folder,如圖所示, Folder name為webapp1,點擊finish完成。


同樣地在webapp1目錄下建一個WEB-INF文件夾,之后在WEB-INF文件夾里建一個web.xml文件。建好之后應該是這樣的結構:

這里web.xml配置文件暫且為空,之后我們再寫入內容。 4.項目下新建一個lib文件夾,放置整個項目所用的jar包,包含了servlet所用的類,使編寫的servlet代碼可以編譯。這些jar包可以從網上下載。

5.引用jar包,在項目properties左側選項里的java bulid path里的libraries里Add JARS,把剛才lib里的包引,要按一下Apply再點OK。

6.接着剛才的步驟,在項目properties的java bullid path的source下設置classes目錄,使編譯形成的.class文件放到 java_demo/webapp1/WEB-INF/classes目錄下。

7.寫一個servlet。在項目的src目錄下新建一個包com.rzy.web.servlet,這個包名的意思是:com代表公司,rzy是公司名,web.servlet代表是web應用的servlet。在包里放一個DemoServlet類和一個ResultServlet類。注意類名的命名規范,第一個字母要大寫。建好之后的目錄結構如下。

接下來我們先在DemoServlet類里寫入處理方法。
所有Servlet類都要繼承HttpServlet類,一般只要改寫里面的doGet(),doPost()方法。
1 package com.rzy.web.servlet; 2 3 import java.io.IOException; 4 5 import javax.servlet.ServletException; 6 import javax.servlet.http.HttpServlet; 7 import javax.servlet.http.HttpServletRequest; 8 import javax.servlet.http.HttpServletResponse; 9 10 public class DemoServlet extends HttpServlet { 11 protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { 12 //這里是處理方法,表示當訪問URI為webapp1/demo/demo時,轉到demo.jsp文件顯示 13 req.getRequestDispatcher("/demo/demo.jsp").forward(req,resp); 14 } 15 16 protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { 17 //這里在doPost方法里調用doGet方法,目的是無論表單以get方式傳遞還是post方式傳遞,處理方法都一致。 18 doGet(req, resp); 19 } 20 21 }
接來下我們寫ResultServlet類。方法跟DemoServlet大體一致,只是處理方法有所改變。
1 package com.rzy.web.servlet; 2 3 import java.io.IOException; 4 5 import javax.servlet.ServletException; 6 import javax.servlet.http.HttpServlet; 7 import javax.servlet.http.HttpServletRequest; 8 import javax.servlet.http.HttpServletResponse; 9 10 public class ResultServlet extends HttpServlet { 11 protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { 12 //通過name屬性獲取請求的參數 13 String name = req.getParameter("name"); 14 String pwd = req.getParameter("pwd"); 15 //通過setAttribute才能將獲取的參數傳遞出去,轉到jsp處理 16 req.setAttribute("name",name); 17 req.setAttribute("pwd", pwd); 18 //這里是處理方法,表示當訪問URI為webapp1/demo/result時,轉到result.jsp文件顯示 19 req.getRequestDispatcher("/demo/result.jsp").forward(req,resp); 20 } 21 22 protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { 23 doGet(req, resp); 24 } 25 26 }
8.接下來我們來在之前創建好的web.xml文件中寫入配置內容。右鍵文件–>open with–>Text editor,寫入如下內容,寫好要記得Ctrl +S保存。
demoServlet com.rzy.web.servlet.DemoServlet
demoServlet /demo/demo
resultServlet com.rzy.web.servlet.ResultServlet
resultServlet /demo/result.
9.接下來我們在webapp1下創建一個demo文件夾,里面新建一個demo.jsp文件和一個result.jsp文件,結構如圖:

這個demo.jsp文件里我們可以寫一個模擬登陸的頁面,代碼如下:
<%@page pageEncoding="UTF-8" %>
用戶名: 密碼:result.jsp頁面用來顯示輸入的用戶名和密碼,代碼如下:
<%@page pageEncoding="UTF-8"%>
用戶名:${name};
密碼:${pwd};
10.最后就是將項目部署到w eblogic並顯示了。
首先打開weblogic的啟動文件。

之后就在瀏覽器登錄weblogic控制台。登錄之后點擊左側的“部署

點擊安裝

輸入項目所在路徑並且點擊下面的單選框選中web應用

之后就點擊下一步–>下一步–>完成,就完成部署了。
檢查是否部署成功可以再次點擊部署,如果看到ok則部署成功。

以下是一些注意點:
1.要讓eclipse在運行時知道編譯的文件所在位置,將編譯文件放在WEB-INF\classes下就能識別到
2.eclipse編譯所用第三方jar包放在libraries里
3.要讓weblogic知道編譯文件和jar包放在哪里。只要放在\classes目錄下,weblogic就能自動識別到編譯文件,\classes是weblogic默認的存放classpath的地址
4.Servlet編譯所用jar包只要給eclipse識別使用就可以了,weblogic自帶了這些jar包,不用讓它識別,只要放在webapp目錄下的lib里就可以。而其他的需要讓weblogic識別的jar包,就需要放在WEB-INF下的lib文件夾里。
5.weblogic控制台要先啟動才能使用。
6.項目做好后要部署后才能使用。
7.WEB-INF目錄下的文件無法直接通過URL來訪問,但是可以通過forward來訪問。
8.URL訪問過程:先去web.xml里去跟url-pattern匹配,如果匹配成功,直接轉到相應servlet處理,如果沒有匹配成功,則去文件系統匹配文件。
