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. webpack打包经验——处理打包文件体积过大的问题

    前言 最近对一个比较老的公司项目做了一次优化,处理的主要是webpack打包文件体积过大的问题. 这里就写一下对于webpack打包优化的一些经验. 主要分为以下几个方面: 去掉开发环境下的配置 Ex ...

  2. Python全栈开发之路 【第一篇】:Python 介绍

    本节内容 一.Python介绍 python的创始人为荷兰人——吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本 ...

  3. Krpano教程tour.xml详解

    <krpano version="1.18" //版本号 onstart="" //网页启动时调用的函数 basedir="%FIRSTXML% ...

  4. Pytorch 初识

    文章目录 一个简单的回归网络的例子 再来一个例子 官方教程上图片识别的例子 import torch import torch.nn as nn import torch.nn.functional ...

  5. Alpha冲刺阶段评分发布

    一班 二班 三班  四班

  6. CRM/PLM/SCM/MES与ERP的联系与区别

    企业通过专设信息机构.信息主管,配备适应现代企业管理运营要求的自动化.智能化.高技术硬件.软件.设备.设施,建立包括网络.数据库和各类信息管理系统在内的工作平台,提高企业经营管理效率的发展模式. 那么 ...

  7. java之序列化

    详细内容 连接https://blog.csdn.net/qq_27093465/article/details/78544505 Java 之 Serializable 序列化和反序列化的概念,作用 ...

  8. redis设置防火墙的问题

    Linux 下载安装配置Redis完整步骤   安装: 1.获取redis资源 wget http://download.redis.io/releases/redis-4.0.8.tar.gz 2. ...

  9. python之路--初识html前端

    一.HTML文档结构 最基本的HTML文档: <!DOCTYPE html> <html lang="zh-CN"> #这个lang表示语言,zh-CN是中 ...

  10. 将WCF寄宿在托管的Windows服务中

    在我之前的一篇博客中我介绍了如何发布WCF服务并将该服务寄宿于IIS上,今天我再来介绍一种方式,就是将WCF服务寄宿在Windows服务中,这样做有什么好处呢?当然可以省去部署IIS等一系列的问题,能 ...