用IDEA開發簡單的Servlet


最近學習java,主要是servlet相關的內容。IDEA和servlet之前都沒有碰過,所以做了一下小實驗,走了一些彎路;這里把一個完整的步驟寫出來,加深一下印象。

IDEA創建項目步驟

1. 在idea 14種新建一個java項目,類型是web Application

如下圖

將創建的項目命名為DemoServlet

2. 建一個servlet的類,在project欄中的項目src目錄上右鍵新建一個Servlet類,

命名為FirstServlet, 包名為javademo

3. 加入需要依賴的tomcat目錄下的servlet-api.jar包

4. 編寫FirstServlet的代碼,第三步加入了對servlet-api的引用后,在idea就可以智能提示servlet的成員了,寫好的簡單代碼如下:
public class FirstServlet extends javax.servlet.http.HttpServlet {
    protected void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException {

    }

    protected void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException {
        response.setContentType("text/html");
        PrintWriter pw = response.getWriter();
        pw.write("<h1> hello first servlet!</h1>");
    }
}
5. 編寫web.xml配置文件,我們用向導自動生成servlet,idea會在web.xml中寫好 <servlet>的配置,我們還需要增加<servlet-mapping>配置,完成的配置文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">
    <servlet>
        <servlet-name>FirstServlet</servlet-name>
        <servlet-class>javademo.FirstServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>FirstServlet</servlet-name>
        <url-pattern>/demo</url-pattern>
    </servlet-mapping>
</web-app>

至此, 一個簡單的servlet網頁程序就編寫完成了,接下來我們看看如何部署。

在tomcat上部署

我在window上用的是xampp自帶的tomcat,主要看下如何在tomcat下部署我們剛剛創建的FirstServlet  web應用。

1. 將源碼目錄里包含index.jsp的web目錄拷貝到tomcat的webapps目錄下,重命名為FirstServlet
2. 在這個目錄的WEB-INF目錄下增加一個classes的目錄
3. 在idea中編譯工程后,在out目錄下有編譯好的.class文件, 我們將項目產出目錄out\production\ServletDemo下的javademo文件夾拷貝到第二步創建的classes目錄中,最后的目錄結構如下

此處注意,classes中的目錄結構要和包保持一致

4. 重啟tomcat, 就可以在http://127.0.0.1:8080/FirstServlet/demo 這個地址看到我們的servlet頁面了。

需要注意這個url的路徑,FirstServlet是在webapps的目錄名,demo是在web.xml中的servlet-mapping中控制的

 

 


免責聲明!

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



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