沒有配置好 IntelliJ IDEA 14.03 + Tomcat 的同學先看這篇文章:
IntelliJ IDEA 14.x 與 Tomcat 集成,創建並運行Java Web項目
首先按照上文所講正確配置 IntelliJ IDEA 14.03 + Tomcat,配置好以后新建的項目結構如圖所示:
(沒有運行過的class文件夾是空的,運行過后class文件夾里面才會有.class文件)
自動建立的web.xml文件如圖:
在<web-app>標簽中插入<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>Servlet</servlet-name> <servlet-class>Servlet.MyServlet</servlet-class> //<servlet-class>中的內容是固定的,必須是"Servlet所在包的名稱.Servlet類的名稱" </servlet> <servlet-mapping> <servlet-name>Servlet</servlet-name> <url-pattern>/Servlet/MyServlet</url-pattern> </servlet-mapping> </web-app>
新建的四個標簽中servlet-class標簽的內容是固定的,不能隨意修改
servlet-name標簽中的內容自定,但兩個servlet-name標簽中的內容必須相同
url-pattern標簽中的內容自定,如例子中url-pattern為 /Servlet/MyServlet ,tomcat端口(默認)為8080,
則啟動項目后,在瀏覽器中輸入http://localhost:8080/Servlet/MyServlet,即可訪問到servlet所定義的頁面
注:
1.
url-pattern可定義多個,可以使不同的url指向同一頁面:
<?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>Servlet</servlet-name> <servlet-class>Servlet.MyServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>Servlet</servlet-name> <url-pattern>/Servlet/MyServlet</url-pattern> <url-pattern>/A</url-pattern> </servlet-mapping> </web-app>
則在瀏覽器地址欄輸入http://localhost:8080/A 可以跳轉到相同的頁面
2.
一個最簡單的servlet類(未定義編碼方式):
package Servlet; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; 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 Administrator on 2015/3/22. */ @WebServlet(name = "MyServlet") public class MyServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter out=response.getWriter(); //准備輸出 out.println("<html>"); out.println("<head><title>JAVA WEB</title></head>"); out.println("<body>"); out.println("<h1>Hello World</h1>"); out.println("</body>"); out.println("</html>"); out.close();//關閉輸出 } }