登录注册和增删改查(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. 欧拉函数小结 hdu2588+

    从费马小定理到欧拉定理 欧拉公式 再到欧拉函数.,. 小结一下欧拉函数吧 对正整数n,欧拉函数是小于n的正整数中与n互质的数的数目(φ(1)=1)----定义 欧拉函数的基本公式其中pi为x的素因子 ...

  2. DisableThreadLibraryCalls与DLLMain死锁

    1.首先写个简单的DLL,用来验证 BOOL APIENTRY DllMain( HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserve ...

  3. MapReduces计数实验

    实验内容 现有某电商网站用户对商品的收藏数据,记录了用户收藏的商品id以及收藏日期,名为buyer_favorite1. buyer_favorite1包含:买家id,商品id,收藏日期这三个字段,数 ...

  4. O045、理解 Cinder 架构

    参考https://www.cnblogs.com/CloudMan6/p/5573159.html   从本节开始我们学习OpenStack 的 Block Storage Service ,Cin ...

  5. wpf DrawingImage 奇葩问题

    使用wpf drawingImage绘图是,会出现很奇怪的坐标问题,这个问题困扰很久 当在DrawingGroup中绘图的时候,坐标始终会从(0,0)开始无论设置多少值,奇怪一比 解决方法:首先在Dr ...

  6. C# 中 ContextMenuStrip 和 ContextMenu区别

    简单来说,就是版本不同,只不过是升级后建议功能更加强大的ContextMenuStrip罢了,升级后的元件功能更强 . ContextMenu是VS2005里的,而ContextMenuStrip是V ...

  7. Pysnooper 一款大受欢迎的Debug模块

    Github地址 安装 PIP pip install pysnooper import pysnooper @pysnooper.snoop() def number_to_bits(number) ...

  8. centos7初始化bashshell脚本

    centos7初始化bashshell脚本 #!/bin/bash if [[ "$(whoami)" != "root" ]]; then echo &quo ...

  9. LNMP安装与配置之MySQL

    MySQL 是最流行的关系型数据库管理系统之一,今天的安装是在CentOS7环境下进行安装,安装的版本是MySQL5.7,有需要别的版本可点击  官网. 一.安装 1.配置YUM源 # 下载mysql ...

  10. python3爬虫--shell命令的使用和firefox firebug获取目标信息的xpath

    scrapy version -v #该命令用于查看scrapy安装的相关组件和版本 一个工程下可创建多个爬虫 scrapy genspider rxmetal rxmetal.com scrapy ...