Idea 下配置 tomcat 以及 項目的配置

從Eclipse轉到IDEA不久,對於idea很多地方還不熟悉,所以遇到問題及時記錄,以便以後查閱


1、idea新建servlet項目:File--new project --java項目--選擇java ee--勾選web app--設置好名稱等就進入第二步(類需要extends HttpServlet)


2、配置tomcat全局設置:點擊調試配置--編輯結構--添加一個tomcat(local)--點擊configure配置tomcat路徑--在Deployment添加一個Artifact名稱隨意(項目名最好)




3、添加tomcat 依賴:點擊項目結構--modules--在dependencies中添加依賴(add加號)-- 選擇library-java-選擇tomcat



4、至此配置已經完成,開始編寫代碼:

java類:

package com.servlet.demo;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

/**
 * Created by 一抹灬茶香 on 2016/11/14.
 */
// 擴展 HttpServlet 類
public class Demo extends HttpServlet {

    private String message;

    public void init() throws ServletException {
        // 執行必需的初始化
        message = "Hello World";
    }

    public void doGet(HttpServletRequest request,
                      HttpServletResponse response)
            throws ServletException, IOException {
        // 設置響應內容類型
        response.setContentType("text/html");

        // 實際的邏輯是在這裏
        PrintWriter out = response.getWriter();
        out.println("<h1>" + message + "</h1>");
    }

    public void destroy() {
        System.out.println("執行destroy方法");
    }
}
web.xml需要添加映射

<servlet>  
      <servlet-name>HelloWorld</servlet-name>  
      <servlet-class>com.servlet.demo.Demo</servlet-class>  
</servlet>  
<servlet-mapping>  
    <servlet-name>HelloWorld</servlet-name>  
    <url-pattern>/HelloWorld</url-pattern>  
</servlet-mapping> 



5、運行:啓動tomcat,打開瀏覽器輸入url即可,運行的結果和url自己看圖吧


http://localhost:8080/Demo/        訪問的是項目下的index.jsp   

想要訪問代碼中的mapping,需要加入自己定義的url(在web.xml中配置<url-pattern>):http://localhost:8080/Demo/HelloWorld



說一些題外的:關於tomcat配置好之後無法訪問8080首頁問題:

需要在第三部的dependencies中添加依賴-- 選擇External source-選擇tomcat安裝路徑/webapps/ROOT文件夾之後就可以訪問8080首頁面了,如果你在

右邊的App context 自定義了鏈接,需要使用自定義的鏈接訪問,只有一個 “/” 這位localhost:8080




在編寫web項目時,如果在類前加了註解,則不需要在web.xml中添加url映射 @WebServlet("/CheckBox")

/**
 * Servlet implementation class CheckBox
 */
@WebServlet("/CheckBox")//表示此class映射的url爲"/CheckBox",不需要再在web.xml中添加映射,
// 否者重複,報錯
public class CheckBox extends HttpServlet {
    private static final long serialVersionUID = 1L;

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {


 <!--CheckBox 添加註解後不需添加url映射 -->
    <!--
    <servlet>
        <servlet-name>CheckBox</servlet-name>
        <servlet-class>com.servlet.demo.CheckBox</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>ACheckBox</servlet-name>
        <url-pattern>/CheckBox</url-pattern>
    </servlet-mapping>
    -->

另外,新建html或者jsp時,如果建在項目根目錄下,需要在結構中添加新建的文件,具體步驟如下

點擊編輯結構--打開下面頁面--點擊編輯--然後在彈出窗口中點擊添加File,選擇新建的文件,完成,現在可以運行這個文件了,否者無法打開

(如果將文件新建在web目錄下,如圖的checkBox2.xml,不需要添加即可直接運行)



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章