創(chuàng)建HttpServlet的方法
創(chuàng)建自己的HttpServlet類(lèi),4個(gè)步驟:
(1)擴(kuò)展HttpServlet抽象類(lèi)。
(2)覆蓋HttpServlet的部分方法,如覆蓋doGet()或doPost方法。
(3)獲取HTTP請(qǐng)求信息,例如通過(guò)HttpServletRequest對(duì)象來(lái)檢索HTML表單所提交的數(shù)據(jù)或URL上的查詢(xún)字符串。無(wú)論是HTML表單數(shù)據(jù)還是URL上的查詢(xún)字符串,在
HttpServletRequest對(duì)象中都以參數(shù)名/參數(shù)值的形式存放,可以通過(guò)一下方法檢索參數(shù)信息:
getParameterNames():返回一個(gè)Enumeration對(duì)象,它包含了所有的參數(shù)名信息
getParameter(String name):返回參數(shù)名name對(duì)應(yīng)的參數(shù)值
getParameterValues():返回一個(gè)Enumeration對(duì)象,它包含了所有的參數(shù)值信息HttpServletResponse對(duì)象有一個(gè)getWriter()方法。該方法返回一個(gè)PrintWriter對(duì)象。使用
PrintWriter的print()或println()方法可以向客戶(hù)端發(fā)送字符串?dāng)?shù)據(jù)流。
(4)生成HTTP響應(yīng)結(jié)果。通過(guò)HttpServletResponse對(duì)象可以生成響應(yīng)結(jié)果。HttpServletResponse對(duì)象有一個(gè)getWriter()方法,該方法返回一個(gè)PrintWriter對(duì)象。使用
PrintWriter的print()或println()方法可以向客戶(hù)端發(fā)送字符串?dāng)?shù)據(jù)流。
例:
package mypack;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
public class HelloServlet extends HttpServlet//第一步
{
//覆蓋doGet()方法
public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException
{
//第三步:獲取HTTP請(qǐng)求中的參數(shù)信息
String clientName=request.getParameter("clientName");
if(clientNme!=null)
clientName=new String(clientName.getBytes("ISO-8859-1"),"GB2312");
else
clientName="我的朋友";
//第四步:生成HTTP響應(yīng)結(jié)果
PrintWriter out;
String title="HelloServlet";
String heading1="This is output from HelloServlet by doGet:";
response.setContentType("text/html;charset=GB2312");/*MIME類(lèi)型*/
out=response.getWriter();
out.print("<html><head><title>"+title+"<title>");
out.print("</head><body>");
out.print(heading1);
out.print("<h1><p>"+clientName+":您好</h1>");
out.print("</body></html>");
out.close();
}
}
在WEB-INF下的Web.xml里增加如下代碼:
<web-app version="2.5"
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">
<servlet>
<servlet-name>Hello</servlet-name>
<servlet-class>mypack.Hello</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Hello</servlet-name>
<url-pattern>/Hello</url-pattern>
</servlet-mapping>
</web>
posted on 2009-03-08 12:16 亂せ英豪 閱讀(1718) 評(píng)論(0) 編輯 收藏