实验四 JSP内置对象的应用

@TOC


前言

vbscript 复制代码
一、实验目的:
1.加深内置对象request,response进行请求响应的处理的理解。
2.掌握使用内置对象session,application实现会话跟踪。
3.掌握JSP的的指令元素,脚本元素,动作元素的使用
二、内容和主要步骤:
1.创建6个jsp页面,使用session实现一个简单的注册登录的示例。
2.页面命名如下:reg.jsp, reg-check.jsp, login.jsp, login-check.jsp, success.jsp, failure.jsp。
3.reg.jsp为注册页面,让用户输入用户名和密码,提交到reg-check.jsp
4.reg-check.jsp为注册信息存储页面,将用户的注册信息存储到session对象中。并添加到login.jsp页面的链接。
5.login.jsp为登录页面,让用户输入用户名和密码,提交到login-check.jsp
6.login-check.jsp为登录检查页面,使用request对象获取login.jsp中的用户名和密码,取出注册时session中存储的用户名和密码进行比较,当全部相同时,使用response的sendRedirect()方法转到success.jsp, 否则转到failure.jsp。
7.success.jsp显示登录成功文字。
failure.jsp显示登录失败文字。

三、要求:
1. 完成上述任务,编写完整代码调试并使之运行正确;
2. 写出实验报告(在实验系统完成)

具体操作

reg.jsp

html 复制代码
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>reg</title>
</head>
<body>
<%--注册页面--%>
<form action="reg-check.jsp" method="post">
    用户名:<input type="text" name="username">
    <br>
    密码:<input type="password" name="password">
    <br>
    <input type="submit" value="注册">
</form>
</body>
</html>

reg-check.jsp

html 复制代码
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>reg-check</title>
</head>
<body>
<%--存储信息--%>
<%
    //存储数据
    session.setAttribute("username", request.getParameter("username"));
    session.setAttribute("password", request.getParameter("password"));
    //重定向到login.jsp
    response.sendRedirect("login.jsp");
%>
</body>
</html>

login.jsp

html 复制代码
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>login</title>
</head>
<body>
<%--登录页面--%>
<form action="login-check.jsp" method="post">
    用户名:<input type="text" name="username">
    <br>
    密码:<input type="password" name="password">
    <br>
    <input type="submit" value="登录">
</form>
</body>
</html>

login-check.jsp

html 复制代码
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>login-check</title>
</head>
<body>
<%
    if ( request.getParameter("username").equals(session.getAttribute("username"))&&
            request.getParameter("password").equals(session.getAttribute("password"))) {
        //重定向到success.jsp
        response.sendRedirect("success.jsp");
    }else {
        //重定向到failure.jsp
        response.sendRedirect("failure.jsp");
    }
%>
</body>
</html>

success.jsp

html 复制代码
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>success</title>
</head>
<body>
<h1>登录成功!</h1>
</body>
</html>

failure.jsp

html 复制代码
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>failure</title>
</head>
<body>
<h1>登录失败!</h1>
</body>
</html>

运行截图 用户名和密码其中一个与注册时不相等,则跳转到失败页面


总结

vbscript 复制代码
1.加深内置对象request,response进行请求响应的处理的理解。
2.掌握使用内置对象session,application实现会话跟踪。
3.掌握JSP的的指令元素,脚本元素,动作元素的使用。

相关推荐
我不会起名字3226 分钟前
seq 空洞排查:Mongo 的 51 只是预留上界,Redis CURR 才是已消耗边界
redis·后端·mongodb·go·即时通讯·im·故障排查
特立独行的猫A6 分钟前
少 3 个环节、少 1 次 ABI、少 3500 行代码:cj-tauri 与 Ionic/Capacitor 的鸿蒙桥接机制对比
java·后端·python
学长毕设22 分钟前
基于SpringBoot的高校后勤报修管理系统-附源码
java·spring boot·后端
特立独行的猫A31 分钟前
cj-tauri vs Rust/Tauri 同款播放器实测:编译 21 秒 vs 11 分钟,磁盘 12 MB vs 1.2 GB
java·后端·python
乐橙开放平台1 小时前
海康和大华摄像头能统一管理吗?可以通过 GB28181 或视频融合平台接入
网络·后端·物联网·音视频
一条Go4 小时前
OnCall 时段路由:跨午夜、左闭右开与「Local 不是时区」
后端·架构·github
Moment4 小时前
不会后期的我,发现了一个开源胶片神器😍😍😍
前端·后端·开源
数据库小学妹4 小时前
pgbouncer 事务池:prepared statement、临时表与会话状态
数据库·后端·postgresql
三小河5 小时前
SWC 凭什么比 Babel 快 ?项目优化迁移踩坑记录
前端·后端
鶴哥只手遮天5 小时前
《Redis 8.10.3 深度剖析》系列 ·第 17 章. 一个迟到十六年的类型
redis·后端·开源