1.Servlet
是一種開發動態web資源的技術.
通常來講,我們將實現Servlet接口的java程序,稱爲Servlet.
2.開發一個動態web資源的步驟:
1.編寫一個MyServlet.java,實現Servlet接口:
- package cn.web.servlet;
- import java.io.PrintWriter;
- import java.io.IOException;
- import javax.servlet.GenericServlet;
- import javax.servlet.ServletRequest;
- import javax.servlet.ServletResponse;
- import javax.servlet.ServletException;
- public class MyServlet extends GenericServlet {
- public void service(ServletRequest request, ServletResponse response)
- throws ServletException, IOException {
- response.setContentType("text/html;charset=UTF-8");
- PrintWriter ps = response.getWriter();
- ps.write("<h1>歡迎訪問!</h1>");
- }
- }
2.編譯該java類:
編譯命令: javac -classpath c:\apache-tomcat-6.0.20\lib\servlet-api.jar -sourcepath src -d . f:\MyServlet.java
編譯結果: 在f:\下生成: cn\web\servlet\MyServlet.class
3.創建web應用的目錄:
helloServlet\WEB-INF\classes\cn\web\servlet\MyServlet.class
helloServlet\WEB-INF\web.xml
4.編寫web.xml:
參考tomcat中的conf\web.xml文檔,複製頭部和尾部,中間添加代碼:
web.xml:
- <web-app 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"
- version="2.5">
- <servlet>
- <servlet-name>myServlet</servlet-name>
- <servlet-class>cn.web.servlet.MyServlet</servlet-class>
- </servlet>
- <servlet-mapping>
- <servlet-name>myServlet</servlet-name>
- <url-pattern>/servlet/myServlet</url-pattern>
- </servlet-mapping>
- </web-app>
5.複製helloServlet目錄到tomcat的webapps目錄下.
6.啓動tomcat服務器.
7.使用IE瀏覽器訪問:http://localhost:8080/helloServlet/servlet/myServlet,回車,頁面顯示: 歡迎訪問!
遇到的問題:
1.測試發現瀏覽器訪問後,顯示"500"錯誤?
解決辦法:
分析錯誤信息,發現提示無法訪問MyServlet.class,再查看自己編寫的類,找到問題: MyServlet.java沒有使用public修飾
知識點: 當使用包名後,必須使用public修飾當前類
2.測試發現瀏覽器訪問後,顯示"亂碼"?
解決辦法:
設置響應正文的字符編碼:response.setContentType("text/html;charset=UTF-8");
或: response.setContentType("text/html");
response.setCharacterEncoding("UTF-8");
或: response.setHeader("ContentType", "text/html;charset=UTF-8");