Servlet接口應用(開發servlet三種方式)

第一種:實現Servlet接口html

public class ServletDemo1 implements Servlet {java

@Override
public void init(ServletConfig config) throws ServletException {
// TODO Auto-generated method stub

}web

@Override
public ServletConfig getServletConfig() {
// TODO Auto-generated method stub
return null;
}瀏覽器

@Override
public void service(ServletRequest req, ServletResponse res)
throws ServletException, IOException {
HttpServletRequest request=(HttpServletRequest) req; //類型轉換
HttpServletResponse response=(HttpServletResponse) res;
//獲取請求的類型
String type=request.getMethod();
//判斷類型GET/POST
if("GET".equals(type)){
this.doGet(request,response);
}else{
this.doPost(request,response);
}

}app

private void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException {
// TODO Auto-generated method stub

response.setContentType("text/html;charset=utf-8");//設置response 字符編碼
PrintWriter writer = response.getWriter();//獲得打印流對象
writer.print("實現Servlet類的方式1,實現Servlet接口");//瀏覽器打印

}ide

private void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
// TODO Auto-generated method stub
doPost(request, response);//執行調用doPost,由於默認是doGet
}this

@Override
public String getServletInfo() {
// TODO Auto-generated method stub
return null;
}編碼

@Override
public void destroy() {
// TODO Auto-generated method stub

}url

}spa

XML配置

 

<?xml version="1.0" encoding="UTF-8"?>
<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>ServletDemos</servlet-name>
<servlet-class>cn.itcast.servlet.demo.ServletDemo1</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ServletDemos</servlet-name>
<url-pattern>/servletdemo1</url-pattern>
</servlet-mapping>

</web-app>

 

第二種:繼承抽象類形式 GenericServlet

//經過繼承GenericServlet類實現 Servlet開發
public class ServletDemo2 extends GenericServlet {
    //必須實現GenericServlet方法
  @Override
  public void service(ServletRequest request, ServletResponse response)
  throws ServletException, IOException {
  response.getWriter().write("hello GenericServlet");
  //直接往瀏覽器輸出
  }

}

XML配置

<servlet>
<servlet-name>ServletDemo2</servlet-name>
<servlet-class>cn.itcast.servlet.demo.ServletDemo2</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ServletDemo2</servlet-name>
<url-pattern>/servletdemo2</url-pattern>
</servlet-mapping>

 

第三種:繼承抽象類 HttpServlet (推薦)

//經過繼承HttpServlet 開發Servlet
//最經常使用的
public class ServletDemo3 extends HttpServlet {
//重寫方法
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
//重寫方法
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");//設置編碼
PrintWriter pw=response.getWriter();
pw.write("第三種繼承HttpServlet(推薦)");//輸出
}
}

XML配置

<servlet> <servlet-name>ServletDemo3</servlet-name> <servlet-class>cn.itcast.servlet.demo.ServletDemo3</servlet-class> </servlet> <servlet-mapping> <servlet-name>ServletDemo3</servlet-name> <url-pattern>/servletdemo3</url-pattern> </servlet-mapping>

相關文章
相關標籤/搜索