实验三.docx

上传人:b****3 文档编号:3825912 上传时间:2022-11-25 格式:DOCX 页数:8 大小:16.05KB
下载 相关 举报
实验三.docx_第1页
第1页 / 共8页
实验三.docx_第2页
第2页 / 共8页
实验三.docx_第3页
第3页 / 共8页
实验三.docx_第4页
第4页 / 共8页
实验三.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

实验三.docx

《实验三.docx》由会员分享,可在线阅读,更多相关《实验三.docx(8页珍藏版)》请在冰豆网上搜索。

实验三.docx

实验三

实验三Servlet会话及Servlet协作

一、实验目的

1、掌握会话的概念和作用。

2、掌握Cookie、URL重写和HttpSession对象等常见会话跟踪技术。

3、会使用RequestDispatcher对象实现Servlet间协作。

二、实验类型

设计型

三、实验内容

1、首先运行教材或实验指导书上的一些例子程序,然后设计一个进行网络购物的订购页面,让用户选择自己喜欢的2种商品放入购物车,然后使用一种会话管理方式,将用户在订购页面所选购的商品在

购物车页面中显示出来,并能返回订购页面再次选购其它商品。

2、设计一个进行乘法运算的页面,生成两个运算数让用户填写相乘结果并提交。

当用户填写和提交的结果正确时,显示“计算正确”的提示信息页面。

结果错误时,显示“计算错误”的提示信息页面,

以此演示通过RequestDispatcher对象实现Servlet之间请求的传递和协作。

1.input.jsp

<%@pagecontentType="text/html"pageEncoding="UTF-8"%>

<%@pageimport="java.util.*"%>

DOCTYPEhtml>

JSPPage

<%!

intnumber1,number2;%>

<%

Randoma=newRandom();

number1=a.nextInt()%10;

number2=a.nextInt()%10;

%>

随机数一:

">

随机数二:

">

请输入结果:

2.result.java

packagecom.servlert;

importjava.io.*;

importjava.io.PrintWriter;

importjavax.servlet.*;

importjavax.servlet.annotation.WebServlet;

importjavax.servlet.http.*;

@WebServlet(name="result",urlPatterns={"/result"})

publicclassresultextendsHttpServlet{

protectedvoidprocessRequest(HttpServletRequestrequest,HttpServletResponseresponse)

throwsServletException,IOException{

response.setContentType("text/html;charset=UTF-8");

PrintWriterout=response.getWriter();

try{

intnumOne=Integer.parseInt(request.getParameter("NumOne"));

intnumTwo=Integer.parseInt(request.getParameter("NumTwo"));

intresult=Integer.parseInt(request.getParameter("result"));

intmyResult=numOne+numTwo;

if(result==myResult)

{

RequestDispatcherdispatcher=request.getRequestDispatcher("correct");

dispatcher.forward(request,response);

}

else{

RequestDispatcherdispatcher=request.getRequestDispatcher("incrrect");

dispatcher.forward(request,response);

}

}finally{

out.close();

}

}

@Override

protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)

throwsServletException,IOException{

processRequest(request,response);

}

@Override

protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)

throwsServletException,IOException{

processRequest(request,response);

}

@Override

publicStringgetServletInfo(){

return"Shortdescription";

}

}

窗体底端

窗体底端

3.Correct.java

packagecom.servlert;

importjava.io.IOException;

importjava.io.PrintWriter;

importjavax.servlet.ServletException;

importjavax.servlet.annotation.WebServlet;

importjavax.servlet.http.HttpServlet;

importjavax.servlet.http.HttpServletRequest;

importjavax.servlet.http.HttpServletResponse;

@WebServlet(name="correct",urlPatterns={"/correct"})

publicclasscorrectextendsHttpServlet{

protectedvoidprocessRequest(HttpServletRequestrequest,HttpServletResponseresponse)

throwsServletException,IOException{

response.setContentType("text/html;charset=UTF-8");

PrintWriterout=response.getWriter();

try{

out.println("");

out.println("");

out.println("Servletcorrect");

out.println("");

out.println("");

out.println("

亲,恭喜你答对了!

");

out.println("");

out.println("");

}finally{

out.close();

}

}

@Override

protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)

throwsServletException,IOException{

processRequest(request,response);

}

@Override

protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)

throwsServletException,IOException{

processRequest(request,response);

}

@Override

publicStringgetServletInfo(){

return"Shortdescription";

}//

}

4.incorrect.java

packagecom.servlet;

importjava.io.IOException;

importjava.io.PrintWriter;

importjavax.servlet.ServletException;

importjavax.servlet.annotation.WebServlet;

importjavax.servlet.http.HttpServlet;

importjavax.servlet.http.HttpServletRequest;

importjavax.servlet.http.HttpServletResponse;

/**

*

*@authoradminister

*/

@WebServlet(name="incrrect",urlPatterns={"/incrrect"})

publicclassincrrectextendsHttpServlet{

/**

*ProcessesrequestsforbothHTTPGETandPOSTmethods.

*@paramrequestservletrequest

*@paramresponseservletresponse

*@throwsServletExceptionifaservlet-specificerroroccurs

*@throwsIOExceptionifanI/Oerroroccurs

*/

protectedvoidprocessRequest(HttpServletRequestrequest,HttpServletResponseresponse)

throwsServletException,IOException{

response.setContentType("text/html;charset=UTF-8");

PrintWriterout=response.getWriter();

try{

intnumOne=Integer.parseInt(request.getParameter("NumOne"));

intnumTwo=Integer.parseInt(request.getParameter("NumTwo"));

intmyResult=numOne+numTwo;

out.println("");

out.println("");

out.println("Servletincrrect");

out.println("");

out.println("");

out.println("

亲,对不起,你答错了

");

out.print("正确答案是"+myResult);

out.println("");

out.println("");

}finally{

out.close();

}

}

//

/**

*HandlestheHTTPGETmethod.

*@paramrequestservletrequest

*@paramresponseservletresponse

*@throwsServletExceptionifaservlet-specificerroroccurs

*@throwsIOExceptionifanI/Oerroroccurs

*/

@Override

protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)

throwsServletException,IOException{

processRequest(request,response);

}

/**

*HandlestheHTTPPOSTmethod.

*@paramrequestservletrequest

*@paramresponseservletresponse

*@throwsServletExceptionifaservlet-specificerroroccurs

*@throwsIOExceptionifanI/Oerroroccurs

*/

@Override

protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)

throwsServletException,IOException{

processRequest(request,response);

}

@Override

publicStringgetServletInfo(){

return"Shortdescription";

}

}

四、实验总结

通过本次实验掌握了使用RequestDispatcher对象实现Servlet间的协作。

以及会话的使用。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1