java web 第三周实验
一、实验目的
1、掌握会话的概念和作用。
2、掌握Cookie、URL重写和HttpSession对象等常见会话跟踪技术。
3、会使用RequestDispatcher对象实现Servlet间协作。
二、实验内容
1、Servlet中使用会话跟踪技术:Cookie和URL重写。
2、设计一个进行乘法运算的页面,生成两个运算数让用户填写相乘结果并提交。当用户填写和提交的结果正确时,显示“计算正确”的提示信息页面。结果错误时,显示“计算错误”的提示信息页面,以此演示通过RequestDispatcher对象实现Servlet之间请求的传递和协作。
1、关于“使用Cookie进行会话跟踪”
创建一个Web应用项目,在其中创建一个servlet(CookieServlet)来显示Cookie的相关信息。该servlet的参考源代码为:
```java
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class CookieServlet extends HttpServlet {
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
Cookie cookie = null;
//获取请求相关的cookie
Cookie[] cookies = request.getCookies( );
boolean newCookie = false;
//判断Cookie ServletStudy是否存在
if (cookies != null){
for (int i = 0; i < cookies.length; i++){
if (cookies[i].getName( ).equals("SimpleServlet")){
cookie = cookies[i];
}
}//end for
}//end if
if (cookie == null){
newCookie=true;
int maxAge=10000;
//生成cookie对象
cookie = new Cookie("SimpleServlet","create by TIGERSHAWN");
cookie.setPath(request.getContextPath( ));
cookie.setMaxAge(maxAge);
response.addCookie(cookie);
}//end if
// 显示信息
response.setContentType("text/html");
java.io.PrintWriter out = response.getWriter( );
out.println("<html>");
out.println("<head>");
out.println("<title>Cookie Info</title>");
out.println("</head>");
out.println("<body>");
out.println(
"<h2> Cookie名字: \"SimpleServlet\"</h2>");
out.println("Cookie值: "+cookie.getValue( )+"<br>");
if (newCookie){
out.