利用JSP内置对象Request和Application实现用户名密码登录注册进入首页显示

2 篇文章 0 订阅

学习目标:

  • 实验名称:JSP内置对象
  • 目的:掌握JSP页面的全部语法。能够编写基本的JSP网页。

学习内容:

1、实验
■地点:周三2单元,10617综合一实验室,自带电脑
■目的:掌握各种内置对象的主要使用方法,能使用内置对象完成具体的功能。
■内容:
◆(1 )改进注册功能,注册成功将用户注册信息保存在application中。(2)改进登录功能,将用户登录信息跟application中存储的进行比对校验,若登录成功进入主页并将账号存入session ,若登录失败回到登录页面。
■要求:
实验课前着手实验
>实验课最后半小时组长组织小组演示验收,互评打分,组长将最终成绩发给老师
◆本次写实验报告,上传学习通
实验课上小组互评打分标准:
90-100分:完成实验,运行效果好。
80-89分:基本完成实验或有瑕疵,运行效果- -般。70-79分:实验进行了一半以上。
60-69 :实验进行了不到- -半。
60分以下:还在学习消化,没有开始实验。


学习时间:

  • 周一至周五晚上 7 点—晚上9点
  • 周六上午 9 点-上午 11 点
  • 周日下午 3 点-下午 6 点

学习产出:

 

 

 


 

 

index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
         pageEncoding="UTF-8"%>

<html>
<body>
<h2>欢迎来到主页面!</h2>
<%
    request.setCharacterEncoding("utf-8");
    String username = request.getSession().getAttribute("username").toString();
%>
<h3 style="color: red">您好,<%=username %></h3>

</body>
</html>

login.jsp

<%--
  Created by IntelliJ IDEA.
  User: baizhimin
  Date: 2023/3/23
  Time: 22:08
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Login Page</title>
</head>
<body>
<h1>登录页面</h1>
<form action="login_deal.jsp" method="POST">
    <label for="username">用户名:</label>
    <input type="text" id="username" name="username" required>
    <br><br>
    <label for="password">密码:</label>
    <input type="password" id="password" name="password" required>
    <br><br>
    <input type="submit" value="登录">
</form>
<br>
<p>没有账户? <a href="register.jsp">点击注册</a></p>
</body>
</html>

login_deal.jsp

<%@ page import="java.util.HashMap" %><%--
  Created by IntelliJ IDEA.
  User: baizhimin
  Date: 2023/3/23
  Time: 22:11
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Login_deal</title>
</head>
<body>
<%
    request.setCharacterEncoding("utf-8");
    String path = request.getContextPath();
    String username = request.getParameter("username");
    String password = request.getParameter("password");
    request.getSession().setAttribute("username",username);
    HashMap<String,String> userMap = (HashMap<String,String>)application.getAttribute("userMap");

    if(userMap==null){
        out.print("登录失败! 即将返回登录界面");
        response.setHeader("refresh","2;url="+path+"/login.jsp");
    }else{
        String pwd = userMap.get(username);
        if(pwd!=null && pwd.equals(password)){
            session.setAttribute("username", username);
            out.print("登录成功! 即将返回主页面");
            response.setHeader("refresh","2;url="+path+"/index.jsp");
        }else{
            out.print("登录失败! 即将返回登录界面");
            response.setHeader("refresh","2;url="+path+"/login.jsp");
        }
    }

%>
</body>
</html>

register.jsp

<%--
  Created by IntelliJ IDEA.
  User: baizhimin
  Date: 2023/3/23
  Time: 22:08
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Registration Page</title>
</head>
<body>
<h1>注册页面</h1>
<form action="register_deal.jsp" method="POST">
    <label for="username">用户名:</label>
    <input type="text" id="username" name="username" required>
    <br><br>
    <label for="password">密码:</label>
    <input type="password" id="password" name="password" required>
    <br><br>
    <input type="submit" value="注册" onclick="alert('注册成功')">
</form>
<br>
<p>已有账户? <a href="login.jsp">点击登录</a></p>
</body>
</html>

register_deal.jsp

<%@ page import="java.util.HashMap" %><%--
  Created by IntelliJ IDEA.
  User: baizhimin
  Date: 2023/3/23
  Time: 22:09
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>register_deal</title>
</head>
<body>
<%
    request.setCharacterEncoding("utf-8");
    String path = request.getContextPath();
    String username = request.getParameter("username");
    String password = request.getParameter("password");
    request.getSession().setAttribute("username",username);
    HashMap<String,String> userMap = (HashMap<String,String>)application.getAttribute("userMap");

        if(userMap==null){
            userMap = new HashMap<String,String>();
            userMap.put(username,password);
            application.setAttribute("userMap",userMap);
            out.print("注册成功! 即将返回主页面");
            response.setHeader("refresh","2;url="+path+"/index.jsp");
        }else{
            if(userMap.containsKey(username)){
                out.print("账号已存在! 即将返回注册页面");
                response.setHeader("refresh","2;url="+path+"/register.jsp");
            }else{
                userMap.put(username, password);
                out.print("注册成功! 即将返回主页面");
                response.setHeader("refresh","2;url="+path+"/index.jsp");
            }
        }

%>
</body>
</html>

pom.xml

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>org.example</groupId>
  <artifactId>WebTest5</artifactId>
  <version>1.0-SNAPSHOT</version>
  <dependencies>
    <dependency>
      <groupId>jstl</groupId>
      <artifactId>jstl</artifactId>
      <version>1.2</version>
    </dependency>

    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.1.0</version>
      <scope>provided</scope>
    </dependency>

    <!--jsp-->

    <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>jsp-api</artifactId>
      <version>2.2</version>
      <scope>provided</scope>
    </dependency>

  </dependencies>
  <packaging>war</packaging>
  <!--servlet-->

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <version>2.2</version>

        <configuration>
          <path>/</path> <!--项目访问路径。当前配置的访问是localhost:9090/, 如果配置是/aa,则访问路径为localhost:9090/aa -->
          <port>9090</port>


<!--          <url>http://localhost:9090/register.jsp</url>-->
          <uriEncoding>UTF-8</uriEncoding><!-- 非必需项 -->
        </configuration>

      </plugin>
    </plugins>
  </build>



</project>

web.xml(设置起始页)

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
  <display-name>Archetype Created Web Application</display-name>
</web-app>

  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值