好文档 - 专业文书写作范文服务资料分享网站

Java - Servlet入门教程 

天下 分享 时间: 加入收藏 我要投稿 点赞

int number=0;

public void init(ServletConfig config) throws ServletException {super.init(config); }

public synchronized void service(HttpServletRequest request,HttpServletResponse response)

throws IOException { //获得一个向客户发送数据的输出流: PrintWriter out=response.getWriter();

response.setContentType(\MIME类型为纯文本。 number++; sum=sum+i/j; j=j+2; i=-i;

out.println(\ out.println(\ } }

7.5 HttpServlet 类

7.5.1 doGet方法和doPost方法

HttpServlet除了init、service、destroy方法外,该类还有两个很重要的方法:doGet和doPost,用来处理客户的请求并作出响应。

当服务器引擎第一次接受到一个servlet请求时,会使用init方法初始化一个servlet,以后每当服务器再接受到一个servlet请求时,就会产生一个新线程,并在这个线程中调用service方法检查HTTP请求类型(Get 、Post等),并在service方法中根据用户的请求方式,对应地再调用doGet或doPost方法。因此,在servlet类中,我们不必重写service方法来响应客户,直接继承service方法即可。我们可以在servlet类中重写doPost或doGet方法来响应用户的请求,这样可以增加响应的灵活性,并降低服务器的负担。

如果不论用户请求类型是Post还是Get,服务器的处理过程完全相同,那么我们可以只在doPost方法中编写处理过程,而在doGet方法中再调用doPost方法即可,或只在doGet方法中编写处理过程,而在doPost方法中再调用doGet方法(见例子6)。

如果根据请求的类型进行不同的处理,就需在两个方法中编写不同的处理过程(见例子7)。

在下面的例子6中,用户可以通过两个表单向servlet提交一个正数,其中一个表单的提交方式是post,另一个表单的方式是get。无论用户用那种方式,服务器的servlet都计算这个数的全部因数,返回给用户。而在下面的例子7中,如果使用post方式提交正数,servlet计算这个数的全部因数,如果使用get方式,servlet求出小于这个数的全部素数。

11

例子6(效果如图7.9所示) 提交正数的JSP页面 Example7_6.jsp:

<%@ page contentType=\

输入一个数,提交给servlet(Post方式):

输入一个数,提交给servlet(Get方式):

sevlet源文件 ComputerFacor.java: import java.io.*; import javax.servlet.*; import javax.servlet.http.*;

public class ComputerFactor extends HttpServlet {

public void init(ServletConfig config) throws ServletException {super.init(config); }

public void doPost(HttpServletRequest request,HttpServletResponse response)

throws ServletException,IOException { //获得一个向客户发送数据的输出流: PrintWriter out=response.getWriter();

response.setContentType(\MIME类型。

out.println(\ out.println(\

12

String number=request.getParameter(\ double n=0;

try{ n=Double.parseDouble(number);

out.println(\ //求n的全部因数: for(int i=1;i<=n;i++) { if(n%i==0) out.println(i); } }

catch(NumberFormatException e)

{ out.print(\ } }

public void doGet(HttpServletRequest request,HttpServletResponse response)

throws ServletException,IOException {

doPost(request,response); } }

图7.9 Post、Get处理方式相同例子7(效果如图7.10所示) 提交正数的JSP页面 Example7_7.jsp:

<%@ page contentType=\

13

输入一个数,提交给servlet(Post方式):

输入一个数,提交给servlet(Get方式):

sevlet源文件

ComputerFacorandPrimNumber.java: import java.io.*; import javax.servlet.*; import javax.servlet.http.*;

public class ComputerFactorandPrimNumber extends HttpServlet {

public void init(ServletConfig config) throws ServletException {super.init(config); }

public void doPost(HttpServletRequest request,HttpServletResponse response)

throws ServletException,IOException { //获得一个向客户发送数据的输出流: PrintWriter out=response.getWriter();

response.setContentType(\MIME类型。

out.println(\ out.println(\

String number=request.getParameter(\ double n=0;

try{ n=Double.parseDouble(number);

out.println(\

14

//求n的全部因数: for(int i=1;i<=n;i++) { if(n%i==0) out.println(i); } }

catch(NumberFormatException e)

{ out.print(\ } }

public void doGet(HttpServletRequest request,HttpServletResponse response)

throws ServletException,IOException { PrintWriter out=response.getWriter();

response.setContentType(\MIME类型。

out.println(\ out.println(\

String number=request.getParameter(\ double n=0;

try{ n=Double.parseDouble(number);

out.println(\ //求小于n的全部素数: int j=1;

for(int i=1;i=i)

{ out.println(i); } } }

catch(NumberFormatException e)

{ out.print(\ }

15

Java - Servlet入门教程 

intnumber=0;publicvoidinit(ServletConfigconfig)throwsServletException{super.init(config);}publicsynchronizedvoidservice(HttpServletRequestrequest,HttpServ
推荐度:
点击下载文档文档为doc格式
  • 正文标题

  • 上下篇章

  • 相关推荐

  • 精选图文

3hele9681999g5n14byc