文章目录

  • 前言
  • 具体操作
  • 总结

前言

一、实验目的:
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

<%@ 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

<%@ 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.jspresponse.sendRedirect("login.jsp");
%>
</body>
</html>

login.jsp

<%@ 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

<%@ 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.jspresponse.sendRedirect("success.jsp");}else {//重定向到failure.jspresponse.sendRedirect("failure.jsp");}
%>
</body>
</html>

success.jsp

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

failure.jsp

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

运行截图



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


总结

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

实验四 JSP内置对象的应用相关推荐

  1. 互联网软件开发—— 实验三 JSP 内置对象(留言板)

    实验名称: 实验三 JSP 内置对象 一.实验目的 1.掌握表单提交及页面间参数传递的方法. 2.理解页面转发与重定向之间的区别. 3.掌握 request.session 和 application ...

  2. jsp内置对象【02】四种内置对象【02】session、application

    我们继续来学习,上一篇文章中说到了request属性,那么既要想客户端和服务端都都能实现跳转的话,就用到了session. 第三种:session属性 我们接着修改一下上一篇文章中的代码来对比一下: ...

  3. 【JSP笔记】第四章 JSP内置对象【下】

    2019独角兽企业重金招聘Python工程师标准>>> 1.什么是session 表示客户端与服务器的一次会话. Web中的session指用户浏览网站时,从进入网站到浏览器关闭的这 ...

  4. JSP内置对象:request、response、out、session、application等内置对象

    Java程序的功能主要是由Java包下的各个类在运行期所产生的对象所提供,并且应用这些对象组织构建程序所需的功能. 所谓JSP内置对象,是指在JSP网页环境之下,用户不需要声明而直接可以在JSP网页中 ...

  5. JavaWeb第三讲 JSP内置对象、基本动作指令、常见编译指令及四大作用域

    JSP内置对象.基本动作指令.常见编译指令及四大作用域 (一) JSP工作原理 当一个jsp页面第一次被访问的时候,jsp将执行以下三个步骤,之后的访问速度会因为class文件已经生成而大大提高,当j ...

  6. Java Web复习——task03:JSP 内置对象和生命周期

    文章目录 前言 一.JSP内置对象 1.1 HttpServletRequest类和Request对象 1.2 HttpServletResponse类和Response对象 1.3 JspWrite ...

  7. Jsp内置对象及EL表达式的使用

    一.JSP的内置对象(9个JSP内置对象) JSP的内置对象引用名称 对应的类型 request HttpServletRequest response HttpServletResponse ses ...

  8. jsp内置对象+Servlet

    一,jsp内置对象 1. request:请求对象: request.getParameter();得到一个参数:获得提交表单中唯一的值: request.getParameterValues();得 ...

  9. java遇上html,JAVA遇见HTML——JSP篇:JSP内置对象(上)

    JSP九大内置对象 JSP内置对象是Web容器创建的一组对象,不使用new关键就可以使用的内置对象. int[] value={60,70,80}; for(int i:value){ out.pri ...

  10. [02] JSP内置对象

    1.内置对象的来历 JSP是由一些内置对象的,即不需要定义,也不需要我们主动创建,就可以直接使用的对象.当然,其对象名称也是固定的,无法修改,我们可以直接调用其相关方法. 在 [01] JSP的基本认 ...

最新文章

  1. 沃尔沃加入英伟达阵营 2021年开卖自动驾驶汽车
  2. SQL Server 索引结构及其使用(二)(转)
  3. Android异步加载
  4. Boost Asio总结(12)class basic_socket_acceptor
  5. 工厂方法模式_工厂方法模式
  6. python图形小游戏代码_手把手制作Python小游戏:俄罗斯方块(一)
  7. @modelattribute注解用postman测试怎么传参_谁要是再敢用Map传参,我过去就是一JIO...
  8. Linux能适应不同的指令集,(转)linux常用指令集
  9. sed高级命令及模式空间和交换空间简介
  10. opencv摄像头速度慢_c++ - 从OpenCV 3切换到OpenCV 4会导致网络摄像头以最高5帧的速度记录,而不是通常的30帧。 - SO中文参考 - www.soinside.com...
  11. java中面向对象租车问题_答答租车系统-Java面向对象的学习
  12. python中排序的函数_Python中sorted()排序函数
  13. ATL是如何实现线程安全的引用计数和多线程控制的
  14. Debian中proftpd+mysql+虚拟用户+匿名用户+磁盘限额的配置
  15. 《K-means聚类算法研究综述》笔记
  16. c语言谭浩强第八章函数PPT,清华大学C语言谭浩强第八章.ppt
  17. R 大数值型数据转换
  18. MDK5新建stm32l0xx(Cortex-M0)工程步骤
  19. tabLayout 设置分割线
  20. Python IDE、IDLE 和 Tcl/Tk

热门文章

  1. Tkinter教程(每天半小时,3天彻底掌握Tkinter)day2
  2. pythontkinter教程_Tkinter简明教程
  3. OGNL表达式用法详解
  4. 怎么让字体拥有金属风格?15种不同的金属风格文字效果ps样式不可错过!
  5. 行人重识别(ReID) ——基于MGN-pytorch进行可视化展示
  6. atmega328p引脚图_Arduino UNO兼容ATmega328开发板-Seeeduino v4.0,附原理图/PCB/使用说明等...
  7. Windows如何查看.db数据库文件
  8. VSCode安装教程(超详细)
  9. 使用Postman进行get、put、post端口测试
  10. 斯皮尔曼相关系数范围_什么是斯皮尔曼相关系数