Servlet(1)

1.Servlet

    是一種開發動態web資源的技術.

    通常來講,我們將實現Servlet接口的java程序,稱爲Servlet.

2.開發一個動態web資源的步驟:

	1.編寫一個MyServlet.java,實現Servlet接口:	
  1. package cn.web.servlet;
  2. import java.io.PrintWriter;  
  3. import java.io.IOException;  
  4.   
  5. import javax.servlet.GenericServlet;  
  6. import javax.servlet.ServletRequest;  
  7. import javax.servlet.ServletResponse;  
  8. import javax.servlet.ServletException;  
  9.   
  10. public class MyServlet extends GenericServlet {  
  11.       
  12.     public void service(ServletRequest request, ServletResponse response)   
  13.                     throws ServletException, IOException {  
  14.         response.setContentType("text/html;charset=UTF-8");  
  15.         PrintWriter ps = response.getWriter();  
  16.         ps.write("<h1>歡迎訪問!</h1>");  
  17.     }  
  18.   
  19. }  
 	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:	
  1. <?xml version="1.0" encoding="ISO-8859-1"?>  
  2. <web-app xmlns="http://java.sun.com/xml/ns/javaee"  
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  4.     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"  
  5.     version="2.5">  
  6.   
  7.     <servlet>  
  8.         <servlet-name>myServlet</servlet-name>  
  9.         <servlet-class>cn.web.servlet.MyServlet</servlet-class>   
  10.     </servlet>                                           
  11.       
  12.     <servlet-mapping>  
  13.         <servlet-name>myServlet</servlet-name>  
  14.         <url-pattern>/servlet/myServlet</url-pattern>  
  15.     </servlet-mapping>  
  16.       
  17. </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");
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章