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 contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<h3>问题一</h3>
<hr>
<form action="shiyan6_1_two.jsp" method="post" name="one">
你最想去的旅游胜地:<input type="text" name="trap">
<input type="submit" value="下一题">
</form> </body>
</html>

shiyan6_1_two.jsp:

 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<h3>问题二</h3>
<hr>
<form action="shiyan6_1_three.jsp" method="post" name="one">
你最喜欢的一本书:<input type="text" name="book">
<input type="submit" value="提交">
</form>
<%
request.setCharacterEncoding("utf-8");
session.setAttribute("trap",request.getParameter("trap"));
%> </body>
</html>

shiyan6_1_three.jsp:

 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<h3>感谢您的参与!你提交的信息如下:</h3>
<hr>
<%
request.setCharacterEncoding("utf-8");
out.print("你最想去的旅游胜地:"+session.getAttribute("trap")+"<br>");
out.print("你最喜欢的一本书:"+request.getParameter("book"));
%> </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 contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<a href="login.jsp">登录</a>
<a href="show.jsp">看图</a>
<a href="exit.jsp">退出</a>
<br>
<p>输入名子就算登录了:</p>
<form action="login.jsp" method="post" name="login">
<input type="text" name="username">
<input type="submit" value="提交">
</form>
<%
String username = request.getParameter("username");
if(username==null||username.length()==0) {
username="";
}else{
session.setAttribute("username",username); //将名字存入用户的session中
}
%>
</body>
</html>

show.jsp:

 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>show</title>
</head>
<body>
<a href="login.jsp">登录</a>
<a href="show.jsp">看图</a>
<a href="exit.jsp">退出</a>
<%
request.setCharacterEncoding("UTF-8");
String username=(String)session.getAttribute("username");
if(username==null||username.length()== 0) {
response.sendRedirect("login.jsp");
}else{
%>
<br><img src="data:images/hua.jpg"/>
<%
}
%>
</body>
</html>

exit.jsp:

 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<a href="login.jsp">登录</a>
<a href="show.jsp">看图</a>
<a href="exit.jsp">退出</a>
<%
session.invalidate();
out.print("session会话失效,若想看图请重新登录!");
%>
</body>
</html>

大学jsp实验6session的更多相关文章

  1. 大学jsp实验4include,forword

    一.实验目的与要求 1.掌握常用JSP动作标记的使用. 二.实验内容 1.include动作标记的使用 编写一个名为shiyan4_1.jsp的JSP页面,页面内容自定,但要求使用include动作标 ...

  2. 大学jsp实验七--JavaBean在JSP中的应用

    值bean的应用 (1)若有如下图所示的两个JSP页面,在第一个的页面的表单中填写相应内容,提交后再显示用户的提交信息.使用JavaBean的方式实现上述效果,请写出相应的代码. bean文件:Tes ...

  3. 大学jsp实验3include指令的使用

    1.include指令的使用 (1)编写一个名为includeCopyRight.jsp的页面,页面的浏览效果如下: 要求“2016”这个值可以实现动态更新.请写出页面代码: <%@ page ...

  4. 大学jsp实验5request,response

    1.request对象的使用 (1)编写一个包含有表单的JSP页面form.jsp,其中包含可以输入姓名和出生地的文本框,提交表单后在另一个页面中显示用户提交的姓名和出生地.请写出相应代码: form ...

  5. jsp实验一

    1.熟悉MyEclipse开发环境,熟悉菜单,修改代码的字体和显示行号. 2.动手做第一个输出hello World的实例. 3.定义一个jsp页面,在其中定义个变量,该变量随机产生,数据范围是[0- ...

  6. jsp实验二

    1.编写一个简单的留言薄,写入留言提交后,显示留言内容 2.编写一个实现页面计数的计数器.思考,如果要求当刷新页面时,不增加计数. 3.编写一个简易购物车,实现向购物车添加商品.思考,如果增加清空购物 ...

  7. JSP实验报告

  8. 【大学物理实验】01 单摆测重力加速度 的 g 计算代码

    单摆测重力加速度 传统摆 (代码没保存,就截了个图) 研究单摆周期与摆长之间的关系 (依旧是g的计算) 我还不太会数据拟合

  9. SEED实验系列文章目录

    美国雪城大学SEEDLabs实验列表 SEEDLabs是一套完整的信息安全实验,涵盖本科信息安全教学中的大部分基本原理.项目组2002年由杜文亮教授创建,目前开发了30个实验,几百所大学已采用.实验楼 ...

随机推荐

  1. OdnShop 发布 V1.0 正式版,完整可用的开源微商城系统

    OdnShop是基于ASP.NET 4.0+Mysql开发的开源微商城系统,我们的目标是构建一个核心完善而又轻量级的微商城平台. 本版本更新功能: 1,修正数据库操作的部分表名称的表前缀错误: 2,修 ...

  2. Php7 开发笔记

    Ubuntu环境安装 http://www.jianshu.com/p/1d312d9f1be1 sudo apt-get install python-software-properties sof ...

  3. nodejs图片处理工具gm用法

    在做H5应用中,有时候会涉及到一些图片加工处理的操作,nodejs有一个很好的后台图片处理module,就是这里说的gm.gm有官方文档,但感觉写得太抽象,反而看不懂了.这里把一些常见的用法写下,供大 ...

  4. mysql数据库和JDBC学习

    数据库概念: 数据库(Database)是按照数据结构来组织.存储和管理数据的建立在计算机存储设备上的仓库. ---------数据库服务器,mysql(管理) 数据库服务器---->N多库-- ...

  5. UITableView加载数据,没有数据,没有网络界面处理

    https://blog.csdn.net/chmod_r_755/article/details/53231461 俗话说的好,傻逼的APP都是相似的,牛逼的APP各有各的牛逼...但是UITabl ...

  6. 【学习总结】Git学习-参考廖雪峰老师教程九-使用码云

    学习总结之Git学习-总 目录: 一.Git简介 二.安装Git 三.创建版本库 四.时光机穿梭 五.远程仓库 六.分支管理 七.标签管理 八.使用GitHub 九.使用码云 十.自定义Git 期末总 ...

  7. Vmware由于centos升级内核不可运行(C header files matching your running kernel were not found)的解决方案

    C header files matching your running kernel were not found. Refer to your distribution's documentati ...

  8. excel vba 不可查看

    打击共享工作簿 去掉[允许多用户同事编辑,同事允许工作簿合并]

  9. java中的定时任务小示例

    package package_1; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Timer; ...

  10. mysql5.7 的 user表的密码字段从 password 变成了 authentication_string

    来源: http://www.zhimengzhe.com/shujuku/other/267631.html 感觉还是挺坑的 自己没了解清楚 就动手 转帖一下 mark 一下. 1.首先停止正在运行 ...