Servlet学习二

2、通过继承GenericServlet开发Servlet
说明:通过继承GenericServlet开发Servlet,只需要重写service方法,相对实现Servlet接口开发servlet需要重写5个方法来说比较简单。

HelloGeneric 继承自GenericServlet,要开发这样的servlet需要重写service方法,位于classes文件夹下

package test;
import javax.servlet.GenericServlet;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import java.io.PrintWriter;
import java.io.IOException;
public class HelloGeneric extends GenericServlet{
 //重写service方法
 public void service(ServletRequest req,ServletResponse res){
  try{
   PrintWriter pw = res.getWriter();
   pw.println("hello,world!generic");
  }
  catch (IOException e){
   e.printStackTrace();
  }
 }
}

编译通过后生成test文件夹里面含有HelloGeneric.class文件

web.xml文件代码如下

  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_3_0.xsd"
  version="3.0"
  metadata-complete="true"> 

 
 
    hellogeneric
 
    test.HelloGeneric
 

 
 
 
    hellogeneric
 
      /hellogeneric
 

启动tomcat服务器,在浏览器地址栏中输入http://localhost:8989/myWebSite/hellogeneric

在浏览器中就会出现hello,world!generic

3.通过继承HttpServlet去开发servlet
需要重写doGet(),doPost()方法这是目前开发servlet用的最多的一种
表单提交数据有两种方式:get和post方式
两种数据提交方式的区别:
①、从安全性看get ②、get提交的数据从提交的内容来看,get提交的数据不能大于2k,post不受限制
     但实际编程中建议不要大于64k
③、从响应速度来看:get>post,get要求服务器立即处理请求,而post请求可能形成
     一个队列请求

下面是一个例子web.xml代码如下,

需要说明的是多个不同的servlet在web.xml文件中做映射配置时servlet-name应该有所不同,以示区别否则会出现无法访问的错误

  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_3_0.xsd"
  version="3.0"
  metadata-complete="true">

 
 
    hellogeneric
 
    test.HelloGeneric
 

 
 
 
    hellogeneric
 
      /hellogeneric
 

 


 
    hellohttp
 
    test.HelloHttp
 

 
 
 
    hellohttp
 
      /hellohttp
 

HelloHttp.java代码如下

package test;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.PrintWriter;
import java.io.IOException;
public class HelloHttp extends HttpServlet{
 //处理get请求
 //req-->代表客户端请求信息
 //res-->代表服务器端向客户端返回的信息
 public void doGet(HttpServletRequest req,HttpServletResponse res){
  //业务逻辑
  try{
   PrintWriter pw = res.getWriter();
   pw.println("Hello,HttpServlet");
  }catch (IOException e){
   e.printStackTrace();
  }
 }
 //处理post请求
 //req-->代表客户端请求信息
 //res-->代表服务器端向客户端返回的信息
 public void doPost(HttpServletRequest req,HttpServletResponse res){
  doGet(req,res);
 }
}

编译后,启动tomca服务器在地址栏中输入http://localhost:8080/myWebSite/hellohttp

会显示Hello,HttpServlet



 

 

你可能感兴趣的:(servlet,servlet,浏览器,manager,service,服务器,encoding)