实验六JSP内置对象(二)实验性质:设计性实验学时:1学时实验地点:一、实验目的与要求1、理解常用JSP内置对象的含义。
2、掌握session和application对象的使用方法。
二、实验内容1、session对象的使用(1)设计一个简单的在线问卷调查程序,共有3个页面,分别是one.jsp、two.jsp、three.jsp。
其中,shiyan6_1_one.jsp页面效果如下图所示:例如:输入“九寨沟”,单击下一题按钮,即可进入shiyan6_1_two.jsp页面,two.jsp页面效果如下图所示:例如:输入“三国演义”,单击提交按钮后,进入shiyan6_1_three.jsp页面,three.jsp页面效果如下图所示:请写出相应代码:shiyan6_1_one.jsp<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body><form action="two.jsp" method="post">你喜欢的一本书是:<input type="text" name="book"><input type="submit" value="提交"></form></body></html>shiyan6_1_two.jsp:<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body><form action="three.jsp" method="post">你喜欢的一旅游胜地是:<input type="text" name="travel"><input type="submit" value="提交"></form><%request.setCharacterEncoding("UTF-8");String str=request.getParameter("book");session.setAttribute("bookname",str);%></body></html>shiyan6_1_three.jsp:<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body><%request.setCharacterEncoding("UTF-8");String str1=request.getParameter("travel");String str2=(String)session.getAttribute("bookname");%><h1>你提交的信息如下:</h1><p>你喜欢的一本书是:<%=str2 %><p>你喜欢的旅游胜地是:<%=str1 %></body></html>(2)编写3个JSP页面login.jsp、show.jsp和exit.jsp。
login.jsp页面效果图如下所示:用户输入姓名提交给login.jsp页面,login.jsp页面将用户的姓名存放到用户的session 中。
show.jsp的效果图如下图所示:用户登录后,单击“看图”超链接,可以显示show.jsp页面。
若用户没有登录,无法看到图像,且被重新定向到login.jsp页面。
当用户单击“退出”超链接时,请求exit.jsp页面,用户的sesion对象将被销毁,用户必须重新登录才能继续看图。
exit.jsp页面效果图如下图所示:请写出相应代码实现上述效果:login.jsp:<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head><body><a href="login.jsp">登录</a><a href="show.jsp">看图</a><a href="exit.jsp">退出</a><br><form action="" method="post" name="form"><br>输入名字就算登录了:<br><br><input type="text" name="name" size="6"><input type="submit" value="提交" name="submit"></form><%String name=request.getParameter("name");if(name==null){name="";}session.setAttribute("name", name);%></body></html>show.jsp:<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head><body><a href="login.jsp?name=name">登录</a><a href="show.jsp">看图</a><a href="exit.jsp">退出</a><br><%String name=(String)session.getAttribute("name");if(name==null||name.length()==0){response.sendRedirect("login.jsp");}%><br><img src="image/flower.jpg" width="106" height="75"></body></html>exit.jsp:<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body><a href="login.jsp">登录</a><a href="show.jsp">看图</a><a href="exit.jsp">退出</a><br><%session.invalidate();%><br>session会话失效,若想看图请重新登录!</body></html>2、application对象的使用(1)使用application对象编写一个JSP页面,在网页中显示页面累计访问次数,请写出相应代码:<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body><%Integer vistCnt = (Integer)application.getAttribute("VistCnt");if(vistCnt == null){vistCnt = 1;}else{vistCnt++;}application.setAttribute("VistCnt", vistCnt);%><p>欢迎您访问本页,您是第<%=vistCnt%>位访客!</p></body></html>三、实验内容中遇到的问题、解决方法和体会。