登录注册和增删改查(jsp+servlet)

(一)功能介绍

1.用户输入正确的密码进行登录

2.新用户可以进行注册

3.登录后显示学生的信息表

4.可以添加学生

5.可以修改学生已有信息

6.可以删除已有学生

7.可以显示登录的用户学号(每个页面都可以通过调用session显示)

8.可以记录浏览量

(二)页面展示

登录页面

注册页面

学生信息页面

添加页面

添加之后的学生信息表

修改页面

修改之后的学生信息表

删除之后的学生信息表

(三)项目代码

package entity;

public class Student {
private String sno;
private String password;
private String name; public Student(String sno, String password, String name) {
this.sno = sno;
this.password = password;
this.name = name;
} public String getSno() {
return sno;
} public void setSno(String sno) {
this.sno = sno;
} public String getPassword() {
return password;
} public void setPassword(String password) {
this.password = password;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
}
}
package util;

import entity.Student;

import java.util.HashMap;

public class StudentUtil {

    public static HashMap<String, Student> map=new HashMap<String,Student>();

    static{

        map.put("101",new Student("101","123","lili"));

        map.put("102",new Student("102","123","lisa"));

        map.put("103",new Student("103","123","coco"));

        map.put("104",new Student("104","123","mark"));

    }

    public static boolean log(Student stu){

        boolean b=false;

        for(String s:map.keySet()){

            if(map.get(s).getSno().equals(stu.getSno())&&map.get(s).getPassword().equals(stu.getPassword())){

                b=true;

            }

        }

        return b;

    }

    public static boolean reg(Student stu){

        map.put(stu.getSno(),stu);

        return true;

    }

}
package servlet;

import entity.Student;

import org.omg.CORBA.Request;

import util.StudentUtil;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import java.io.IOException;

@WebServlet("/LoginServlet")

public class LoginServlet extends HttpServlet {

    @Override

    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        String sno=req.getParameter("sno");

        String password=req.getParameter("password");

        Student s=new Student(sno,password,null);

        boolean b=StudentUtil.log(s);

        if(b==true){
           ServletContext a=this.getServletContext();
Object o=a.getAttribute("count");
if(o==null){
a.setAttribute("count",1);
}else{
int count=Integer.parseInt(o.toString());
a.setAttribute("count",count+1);
}
HttpSession se=req.getSession();
se.setAttribute("sno",sno);
            req.setAttribute("sno",sno);
req.getRequestDispatcher("student.jsp").forward(req,resp);
}else{ req.getRequestDispatcher("error.jsp").forward(req,resp);
}
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req, resp);
}
}
package servlet;

import entity.Student;

import util.StudentUtil;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import java.io.IOException;

@WebServlet("/RegisterServlet")

public class RegisterServlet extends HttpServlet {

    @Override

    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        String sno=req.getParameter("sno");

        String password=req.getParameter("password");

        String name=req.getParameter("name");

        StudentUtil.reg(new Student(sno,password,name));

        req.getRequestDispatcher("/index.jsp").forward(req,resp);

    }

    @Override

    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        doPost(req, resp);

    }

}
package servlet;

import entity.Student;

import util.StudentUtil;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import java.io.IOException;

@WebServlet("/InsertServlet")

public class InsertServlet extends HttpServlet {

    @Override

    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        String sno=req.getParameter("sno");

        String password=req.getParameter("password");

        String name=req.getParameter("name");

        StudentUtil.map.put(sno,new Student(sno,password,name));

        req.getRequestDispatcher("student.jsp").forward(req,resp);

    }

    @Override

    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        doPost(req, resp);

    }

}
package servlet;

import util.StudentUtil;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import java.io.IOException;

@WebServlet("/UpdateServlet")

public class UpdateServlet extends HttpServlet {

    @Override

    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        String sno=req.getParameter("sno");

        String password=req.getParameter("password");

        String name=req.getParameter("name");

        StudentUtil.map.get(sno).setName(name);

        StudentUtil.map.get(sno).setPassword(password);

        req.getRequestDispatcher("student.jsp").forward(req,resp);

    }

    @Override

    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        doPost(req, resp);

    }

}
package servlet;

import util.StudentUtil;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import java.io.IOException;

@WebServlet("/DeleteServlet")

public class DeleteServlet extends HttpServlet {

    @Override

    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

       String sno= req.getParameter("sno");

        StudentUtil.map.remove(sno);

        req.getRequestDispatcher("student.jsp").forward(req,resp);

    }

    @Override

    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        doPost(req, resp);

    }

}

index.jsp

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

<html>

<head>

    <title>Title</title>

</head>

<body>

<form action="LoginServlet" method="post">

    <div class="log">

        <h2>登录</h2>

        学号:<input type="text" name="sno"><br>

        密码:<input type="password" name="password"> <br>

        <input type="submit" value="确认登录">

        <a href="register.jsp" >注册</a>

    </div>

</form>

</body>

</html>
 

register.jsp

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

<html>

<head>

    <title>Title</title>

</head>

<body>

<form action="RegisterServlet" method="post">

    学号:<input type="text" name="sno"><br>

    密码:<input type="text" name="password"><br>

    姓名:<input type="text" name="name"><br>

    <input type="submit" value="确认">

</form>

</body>

</html>
 
student.jsp
<%@ page import="util.StudentUtil" %>

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

<html>

<head>

    <title>Title</title>

</head>

<body>

<a href="insert.jsp">增加</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

<span>用户:<%=session.getAttribute("sno")%></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

<span>浏览量:<%=application.getAttribute("count")%></span>

<table>

    <tr>

        <td>学号</td>

        <td>密码</td>

        <td>姓名</td>

        <td></td>

    </tr>

    <%

      for(String s: StudentUtil.map.keySet()){%>

          <tr>

              <td><%=StudentUtil.map.get(s).getSno()%></td>

              <td><%=StudentUtil.map.get(s).getPassword()%></td>

              <td><%=StudentUtil.map.get(s).getName()%></td>

              <td><a href="update.jsp?sno=<%=StudentUtil.map.get(s).getSno()%>&&password=<%=StudentUtil.map.get(s).getPassword()%>&&name=<%=StudentUtil.map.get(s).getName()%>">修改</a>

                  <a href="DeleteServlet?sno=<%=StudentUtil.map.get(s).getSno()%>">删除</a></td>

          </tr>

     <% } %>

</table>

</body>

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

<html>

<head>

    <title>Title</title>

</head>

<body>

账户名或密码错误

<a href="index.jsp">返回登录</a>

</body>

</html>

insert.jsp

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

<html>

<head>

    <title>Title</title>

</head>

<body>

<form action="InsertServlet" method="post">

    学号:<input type="text" name="sno"/><br>

    密码:<input type="text" name="password"/><br>

    姓名:<input type="text" name="name"/><br>

    <input type="submit" value="确认添加">

</form>

</body>

</html>

update.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<form action="UpdateServlet" method="post">
<table>
<tr>
<td>学号</td>
<td><input type="text" name="sno" value="<%=request.getParameter("sno")%>"></td>
</tr>
<tr>
<td>密码</td>
<td><input type="text" name="password" value="<%=request.getParameter("password")%>"></td>
</tr>
<tr>
<td>姓名</td>
<td><input type="text" name="name" value="<%=request.getParameter("name")%>"></td>
</tr>
</table>
<input type="submit" value="确认修改">
</form>
</body>
</html>

Java Web项目案例之---登录注册和增删改查(jsp+servlet)的更多相关文章

  1. Java Web项目案例之---登录和注册(精华版)

    登录和注册(精华版) (一)实现功能 1.使用cookie记录登录成功的用户名,用户选择记住用户名,则用户再次登录时用户名自动显示 2.实现文件上传功能(上传文件的表单上传于普通的表单上传不同,必须是 ...

  2. Spring boot+mybatis+thymeleaf 实现登录注册,增删改查

    本文重在实现理解,过滤器,业务,逻辑需求,样式请无视.. 项目结构如下 1.idea新建Spring boot项目,在pom中加上thymeleaf和mybatis支持.pom.xml代码如下 < ...

  3. 纯Java JDBC连接数据库,且用JDBC实现增删改查的功能

    Java JDBC连接数据库 package cn.cqvie.yjq; import java.sql.*; /** * 注册数据库的驱动程序,并得到数据库的连接对象 * @author yu * ...

  4. node 实现Token状态登录 及数据库增删改查

    1.项目目录结构 2.启动入口文件代码index.js const express = require('express') const bodyParser = require('body-pars ...

  5. Java数据库连接--JDBC基础知识(操作数据库:增删改查)

    一.JDBC简介 JDBC是连接java应用程序和数据库之间的桥梁. 什么是JDBC? Java语言访问数据库的一种规范,是一套API. JDBC (Java Database Connectivit ...

  6. Python之注册表增删改查(干货)

    在Windows平台下,对注册表的增删改查的需求比较多,微软提供了很多用于访问,修改注册表等的API,我们可以使用诸如bat,或者C++等各种方式去访问修改注册表.无所不能的python下如何完成这些 ...

  7. Node教程——Node+MongoDB案例实现用户信息的增删改查

    想要获取源代码的同学可以留言,我不做git上传了,案例太简单 没必要 综合演练 用户信息的增删改查 需求:你需要实现这样的结果 点击添加可以添加用户,点击删除可以删除点击修改可以修改 代码分析: 1. ...

  8. Java对象转JSON时如何动态的增删改查属性

    1. 前言 日常开发中少不了JSON处理,少不了需要在JSON中添加额外字段或者删除特定字段的需求.今天我们就使用Jackson类库来实现这个功能. 2. JSON字符串增加额外字段 假如我们有这样结 ...

  9. .net core项目搭建swagger接口实现简单增删改查

    .net core搭建swagger 1,新建立.net core项目(这里不再细说) 2,引入NuGet程序包 3,建立项目之后在Startup类中配置swagger 这里我直接把代码贴出来: 在C ...

随机推荐

  1. P3748 [六省联考2017]摧毁“树状图”

    传送门 显然是可以树形 $dp$ 的 对每个节点维护以下 $5$ 个东西 $1.$ 从当前节点出发往下的链的最大贡献 $2.$ 节点子树内不经过本身的路径最大贡献 $3.$ 节点子树内经过本身的路径的 ...

  2. 10.Bash的安装

    10.Bash的安装本节提供了在 Bash支持的不同系统上的基本安装指导.本版本支持 GNU操作系统,几乎每个 UNIX版本,以及几个非 UNIX 系统,例如 BeOS 和 Interix.还有针对 ...

  3. Java 时间不一致

    1.new Date() 得到的时间?和系统相差 相差8个小时 2.eclipse控制台打印的时间与系统相差 相差8个小时 3.log4j日志的时间与与系统相差 相差8个小时 上述问题其实是同一个问题 ...

  4. css强制换行显示省略号之显示两行后显示省略号

    1,首先来一个固定宽度,在一行显示,超出隐藏,显示省略号的样式 display:block; white-space:nowrap; overflow:hidden; text-overflow:el ...

  5. <%%> <%! %> <%=%> <%-- --%> jsp中jstl一些运用

    <%%> 这里面可以添加java代码片段<%! %> 这里添加java方法 主要是用来声明变量的 <%=%> 将变量或表达式值输出到页面<%-- --%> ...

  6. 分布式消息中间件之kafka设计思想及基本介绍(一)

    Kafka初探 场景->需求->解决方案->应用->原理 我该如何去设计消息中间件--借鉴/完善 场景 跨进程通信(进程间生产消费模型) 需求 基本需求 实现消息的发送和接收. ...

  7. 7、Nginx基础Http原理

    1Http协议概述 HTTP全称HyperText Transfer Protocol中文名为超文本传输协议 1.1.什么是超文本? 包含有超链接(Link)和各种多媒体元素标记的文本.这些超文本文件 ...

  8. kubernetes资源清单之DaemonSet

    什么是 DaemonSet? DaemonSet 确保全部(或者某些)节点上运行一个 Pod 的副本.当有节点加入集群时,也会为他们新增一个 Pod . 当有节点从集群移除时,这些 Pod 也会被回收 ...

  9. Java的概述

    Java的基本概述 Java是SUN(Stanford University Network),斯坦福大学网络公司)1995年推出的一门高级编程语言.Java是一种面向Internet的编程语言.随着 ...

  10. NORDIC 修改MTU

    https://www.cnblogs.com/jiangjiu/p/10063556.html 注意要修改RAM起始地址,因为MTU增大了