JavaWeb实现用户登录管理

**Web网站框架分析**
      客户端将请求数据交给服务器端,服务器端里的servlet首先接收数据,处理,然后将处理结果交给service,service再将数据处理后交给dao,dao将数据在数据库里进行检查,然后将结果返回给service,service将结果返回给servlet,然后servlet再将结果返回给服务器端,值得注意的是:servlet,service,dao三部分都是在服务器端才有的。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191128081030476.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzNTQwMzQ4,size_16,color_FFFFFF,t_70)
**网站模型:**
**Tomcat**
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191128081255859.png)

      它是一个开源项目软件,是Apache软件基金会的核心项目,专门用于运行Jjava Web程序的服务器。
客户端与服务器端响应过程
JavaWeb实现用户登录管理_第1张图片

  1. 客户端发送请求
  2. 请求达到服务器端(服务器端对信息进行屏蔽和封装)
  3. tomcat接收请求,将原始请求解码
  4. tomcat接收到请求产生两种:请求对象(存放请求信息)和响应对象(空)
  5. tomcat根据请求地址(url)找到对应的servlet,返回存放数据给响应对象(此时响应对象开始含有数据信息)
  6. Tomcat将信息返回给客户端

浅谈MVC模型
      MVC(Model View Controller)即为客户端向服务器端请输数据的全部过程,通过servlet接受数据,将数据传递给service业务层,service对数据进行解析,然后将数据传递给dao层进行与数据库数据对比,得到结果。dao将结果返回给service业务层,service业务层又将数据返回给servlet响应对象,然后servlet将数据返回给客户层。
JavaWeb实现用户登录管理_第2张图片
环境搭建
      http:web协议
      localhost:主机地址
      8089:提供的服务器端口号----------------------------服务器上的软件(注意,不同的tomcat服务器端口号可能是不相同的,需要根据你本地安装的tomcat安装目录的conf里的server.xml目录里面查找)
JavaWeb实现用户登录管理_第3张图片
tomcat需要集成到eclipse
      运行在服务器上的java程序,能够处理请求,返回响应
      运行在tomcatweb服务器
      继承了HttpServlet
简单案例详解(注意此项目是在eclipse里的java web项目)
首先我们新建一个项目,然后导入我们提前写好的前端页面到
WebContent这一栏,然后建立必要的几个包----servlet,service,dao,domain(用来存放数据库相关信息)
JavaWeb实现用户登录管理_第4张图片
登录界面情况:
JavaWeb实现用户登录管理_第5张图片
数据库相关表创建:
JavaWeb实现用户登录管理_第6张图片
首先来编写domain包的相关信息:
创建一个User类:

package domain;
public class User {
	private int user_id;
	private String user_name;
	private String user_mail;
	private String user_gender;
	private String user_pwd;
	public int getUser_id() {
		return user_id;
	}
	public void setUser_id(int user_id) {
		this.user_id = user_id;
	}
	public String getUser_name() {
		return user_name;
	}
	public void setUser_name(String user_name) {
		this.user_name = user_name;
	}
	public String getUser_mail() {
		return user_mail;
	}
	public void setUser_mail(String user_mail) {
		this.user_mail = user_mail;
	}
	public String getUser_gender() {
		return user_gender;
	}
	public void setUser_gender(String user_gender) {
		this.user_gender = user_gender;
	}
	public String getUser_pwd() {
		return user_pwd;
	}
	public void setUser_pwd(String user_pwd) {
		this.user_pwd = user_pwd;
	}
	public User(int user_id, String user_name, String user_mail, String user_gender, String user_pwd) {
		super();
		this.user_id = user_id;
		this.user_name = user_name;
		this.user_mail = user_mail;
		this.user_gender = user_gender;
		this.user_pwd = user_pwd;
	}
	public User() {
		super();
	}
	@Override
	public String toString() {
		return "User [user_id=" + user_id + ", user_name=" + user_name + ", user_mail=" + user_mail + ", user_gender="
				+ user_gender + ", user_pwd=" + user_pwd + "]";
	}
	
}

然后编写dao包里的相关信息(由于存储的是数据库的相关信息,和一般数据操作相同,就不展示代码了)
然后就是servlet层,直接选中servlet包右键建一个servlet类(注意,系统会自动写好模块)
然后编写数据链接的代码,以及判断用户信息是否是数据库中存在的(若存在,则登录成功,反之,继续输入账号)

package servlet;

import java.io.IOException;
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 com.sun.corba.se.spi.activation.Repository;

import domain.User;
import service.UserService;
import service.impl.UserServiceImpl;

/**
 * Servlet implementation class Servelet
 */
@WebServlet("/login.do")
public class Servelet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public Servelet() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		response.getWriter().append("Served at: ").append(request.getContextPath());
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		//doGet(request, response);
		System.out.println("有人来访问了");
		//得到页面输入
		String name =request.getParameter("username");
		String password = request.getParameter("password");
		User user = new User();
		user.setUser_name(name);
		user.setUser_pwd(password);
		//验证输入是否能够登陆
		UserService service = new UserServiceImpl();
		boolean flag = service.validateLogin(user);//定义接口的实现方法规范
		//根据结果返回对应的页面
		if(flag){
			response.sendRedirect("sys/index.html");
		}else{
			response.sendRedirect("login.html");
		}
	}

}

验证:
输入账号aa ,密码123(数据库含有该信息)
JavaWeb实现用户登录管理_第7张图片
由于账号密码输入正确就会进入后台管理页面。
JavaWeb实现用户登录管理_第8张图片
如何账号密码输入错误,就会继续显示登录界面
JavaWeb实现用户登录管理_第9张图片
返回结果:
JavaWeb实现用户登录管理_第10张图片
(本人才接触web不久,后期继续完善)

你可能感兴趣的:(JavaWeb实现用户登录管理)