java servlet mysql_servlet+mysql实现简易的登录功能

这篇博客介绍了如何在IDEA中搭建web应用框架,并利用java servlet和mysql实现登录功能。通过创建项目结构,编写数据库连接类、DAO层、实体类、Service和Servlet,最后展示登录界面,完成用户输入验证。
摘要由CSDN通过智能技术生成

本篇记录在idea中搭建web应用框架的过程,并用jsp+servlet+mysql实现简单的登录功能。

1、搭建web项目骨架

新建javaweb应用项目

c7b96ed76eb6cf3a48a0c3aecf4a66b4.png

新建lib文件夹,放入要用到的依赖包。分别是数据库的驱动包和web工具包,添加后右键添加到项目的依赖库中。

ee5cdd45c26452d95ed7959004d0c4fe.png

添加完毕之后,在项目设置中查看结构,确认依赖导入完毕。如果需要fix,直接点击fix进行修复。

d8f08d2dd3bb2d4b735c23a5d52f7e86.png

建立项目骨架,在src中新建五个包。代表web项目的各个功能层次。

dao层负责对数据库的相关操作,比如插入查询删改等。

model包存放在程序中的实体形式,包括一系列属性,与数据库中的字段对应。

service包存放业务逻辑中的服务,它根据不同情况,对dao层进行调用

servlet包存放各种页面请求处理。直接根据页面信息作出各种相应,对service层进行调用。

util存放各种工具类

1d025bcb78f226773a8f223bb695cb3e.png

2、编写数据库连接类和dao层:

此处参考上一篇数据库连接的博文,这里不再赘述:

https://editor.csdn.net/md/?articleId=107488124

这里的数据库结构比较简单,如下:

66e26083450a2b559cab27b5f84c39fc.png

测试数据:

2de579244f788e20309dafc3ee46f643.png

3、编写实体类:

这里的属性要和数据库中的字段对应。这里新建一个用户名和一个密码两个属性用于用户登录。

package com.kisstherain.model;

public class User {

private int id;

private String name;

private String password;

public int getId() {

return id;

}

public void setId(int id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getPassword() {

return password;

}

public void setPassword(String password) {

this.password = password;

}

@Override

public String toString() {

return "User{" +

"id=" + id +

", name='" + name + '\'' +

", password='" + password + '\'' +

'}';

}

}

4、编写Service

这里逻辑比较简单,因为只有登录这一个比较简单的操作

package com.kisstherain.service;

import com.kisstherain.dao.UserDao;

import com.kisstherain.model.User;

public class UserService {

UserDao userDao=new UserDao();

public User selectByName(String name){

return userDao.selectByName(name);

}

}

5、编写Servlet:

servlet层继承HttpServlet类,主要是重写doPost方法,对发送的请求根据用户发送的表单进行处理,并进行适当的返回。这里根据用户在登录界面提交的用户名和密码表单,调用dao层的数据库交互方法,对相应用户名的密码进行匹配判断。如果相同返回带有success的相应界面;如果不同或者是其他情况导致密码不匹配,返回fail。

主要有两种请求处理方法 doPost doGet

doGet:处理GET请求

doPost:处理POST请求

当发出客户端请求的时候,调用service 方法并传递一个请求和响应对象。Servlet首先判断该请求是GET 操作还是POST 操作。然后它调用下面的一个方法:doGet 或 doPost。如果请求是GET就调用doGet方法,如果请求是POST就调用doPost方法。doGet和doPost都接受请求(HttpServletRequest)和响应(HttpServletResponse)。get和post这是http协议的两种方法,另外还有head, delete等

这两种方法有本质的区别,get只有一个流,参数附加在url后,大小个数有严格限制且只能是字符串。post的参数是通过另外的流传递的,不通过url,所以可以很大,也可以传递二进制数据,如文件的上传。

在servlet开发中,以doGet()和doPost()分别处理get和post方法。

package com.kisstherain.servlet;

import com.kisstherain.model.User;

import com.kisstherain.service.UserService;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import java.io.IOException;

public class LoginServlet extends HttpServlet {

UserService userService=new UserService();

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

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

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

User user=userService.selectByName(name);

if(password.equals(user.getPassword())){

resp.getWriter().write("success");

}else{

resp.getWriter().write("fail");

}

}

}

6、编写jsp界面:

主要是两个输入框,供用户输入密码和用户名。这里的action代表处理请求时用户所在的url

Created by IntelliJ IDEA.

User: 84265

Date: 2020/7/21

Time: 8:43

To change this template use File | Settings | File Templates.

--%>

$Title$

登录页面

name:

password:

7、建立servlet映射

最后要告诉web应用有哪些servlet,以及这些servlet与项目中的哪些类对应:

loginServlet

com.kisstherain.servlet.LoginServlet

loginServlet

/login

8、测试

9844f211ac06235e6455eed9219137b0.png

9a9dea2da8565007dd726d40738dc6d8.png

本文地址:https://blog.csdn.net/weixin_42189888/article/details/107480350

希望与广大网友互动??

点此进行留言吧!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值