java+servlet+mysql实现用户登录、注册、查询、修改密码、注销功能

用户系统

  • 一 整个系统的结构图
  • 二 准备工作
    • 1.需要用到的工具
    • 2.需要工作
  • 三 实现步骤
    • 1.JSP页面编写
    • 2.servlet的编写
    • 3.用户查询功能(这里需要用到jstl和el表达式)
    • 4.如何实现拦截,什么是拦截?
      • 1.什么是拦截?
      • 2.如何实现拦截
  • 四 完结撒花

一 整个系统的结构图

首先确认登录系统的框架如下
在这里插入图片描述
注册可以是和登录同级的,注册功能比较单一所有主要重心放在登录页面上
登录成功将添加Session可用于后续获取是否登录状态从而进行拦截等操作,注销则删除Session删除数据库中的数据,查询则需要用到jstlel表达式打印在页面上,而注销需要在数据库增加用户输入的数据

二 准备工作

1.需要用到的工具

工具包 包源
MySql工具包 mysql-connector-java-5.1.49.jar
jstl工具包 jstl.jar
servlet工具包 这个在Tomucat文件中的lib里面
standard工具包 standard.jar

在这里插入图片描述
注意:这里所有包都要放入web文件的WEB-INF里面

2.需要工作

封装好JDBC
配置Tomucat服务器
创建MySql数据库、表

三 实现步骤

1.JSP页面编写

首先写出首页,即登录页面,使用form标签编写表单获取用户输入的数据,action即该表单映射的servlet文件,通俗来说例如:servlet文件写了/a,jsp文件中的表单也写了/a则这个servlet可以编写一些代码来操控jsp,method则是返回的方法,如我这里是post,那我们就可以在servlet中的dopost方法获取表单的数据或编写某些程序,如果没有声明则会默认在doget方法。
在这里插入图片描述
按钮中的type:"submit"意思是提交表单,则是运行所映射的servlet文件,而注册的跳转则是使用a标签,因为注册页面是可以和登录同级,并不需要做拦截之类的操作。
接下来就是登录失败的页面
在这里插入图片描述
至于登录成功的页面,要实现以上修改密码、查询用户、注销的分支操作
在这里插入图片描述
这里所映射的路径为 “/true” ,登录成功嘛顾名思义就是true,统一返回post,提交按钮要设置一个名字,因为这三个操作是同级的所有起同样的名字,但是要给他们设置不一样的值可以供servlet判断,从而进行不同的操作,就像人可以有相同的名字但是不能有同样的身份证

2.servlet的编写

首先要注册servlet即 @WebServlet(JSP所映射的路径),然后继承HttpServlet,如下:

@WebServlet("/login")
public class login extends HttpServlet {
   
}

然后点击快捷键 Ctrl+O重写继承下来的doGetdoPost方法
在这里插入图片描述
注意:要删除父类的方法,即super

@WebServlet("/login")
public class login extends HttpServlet {
   
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
   
        super.doGet(req, resp);//删除此行
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
   
        super.doPost(req, resp);//删除此行
    }
}

然后在doPost方法中使用封装好的JDBC类,这里要用try–catch语句抛出异常

try {
   
            Connection connection= jdbclib.getConnection();
            Statement statement=jdbclib.getStatement(connection);
           
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值