Java Web学习之简易版登录界面

Java Web学习之登录界面

​ 今天给大家带来的是Java web的登录界面的实现。

​ 功能:通过登录界面输入正确的用户名和密码点击登录到正确的页面。

​ 功能实现:主要通过前端使用jsp,通过form表单的提交功能将信息提交到servlet中,再通过后台的的c3p0和JdbcTemplate连接数据库,核对数据库中的内容,用户名密码正确则返回true否则返回false。

​ 工具:IDEA2018.2.2、Tomcat 7.0.9、jdk 1.8.0

一、准备好IDEA

​ 启动IDEA并且点击创建项目,配置好自己的jdk版本和Tomcat版本,点击next。Java Web学习之简易版登录界面_第1张图片

​ 点击勾选Creat projec from tempalte,点击next。
Java Web学习之简易版登录界面_第2张图片
​ 然后选择自己的文件夹路径完成创建。
Java Web学习之简易版登录界面_第3张图片
​ 这样我们完成了一个项目的完成。

Java Web学习之简易版登录界面_第4张图片

二、写好jsp页面

在web/WEB-INF目录下写好自己要写的jsp页面

1、登录界面 login.jsp

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


    
    
    
    登录页面

    
    
    
    



    

Java Web学习之简易版登录界面_第5张图片

​ 登录界面代码中有表单form代码,

        <%--action是指将内容提交到哪个页面--%>        

2、登录成功界面 success.jsp

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

  
    
  
  
登录成功
  

3、登录失败界面 error.jsp



    
    Title


    

用户名或密码错误,请重新登录!

三、servlet后台的实现

​ 在后台创建servlet文件来获取前端jsp页面所传递的数据。

1、在src目录下创建servlet文件夹,在servlet文件夹下创建servlet文件

package com.zr.serlvet;

import com.zr.bean.User;
import com.zr.service.impl.userServiceImpl;
import com.zr.service.userService;

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(name="/loginServlet")
这个地方如果要使用@WebServlet的注解直接开发那么要讲 name= 删除掉
* 如果要使用xml开发的话 ,那么name=就不用删除,并且在xml文件中写好servlet的配置和映射代码。
* */
@WebServlet("/loginServlet")
public class loginServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //1、处理servlet中的编码问题。
        response.setCharacterEncoding("utf-8");
        response.setContentType("text/html; charset=utf-8");

        //2、获取login.jsp中的传递给的信息。
        String username=request.getParameter("userName");
        String password=request.getParameter("password");

        //3、在bean目录下创建一个用户的一个类将用户名和密码进行保存下来。
        User user=new User(username,password);

        //4、在service文件目录下创建UerService的接口以及实现类。
        userService us = new userServiceImpl();
        //5、判断密码是否符合要求
        if(us.login(user)) {
            //符合要求则返回跳转到success.jsp
            request.getRequestDispatcher("/success.jsp").forward(request, response);
        }else{
            //不满足要求则返回error页面
            request.getRequestDispatcher("/error.jsp").forward(request,response);
        }
//        System.out.println(user.getUserName()+"  "+user.getPassword());
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.doPost(request,response);
    }
}

2、在bean文件下路径下创建User类

package com.zr.bean;

public class User {
    private String userName;
    private String password;

    public User(String userName, String password) {
        this.userName = userName;
        this.password = password;
    }

    public User() {
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

3、在src目录下创建service文件夹,在service文件夹下创建userService的接口和impl实现类

userService接口

package com.zr.service;

import com.zr.bean.User;

public interface userService {
    boolean login(User user);
}

userServiceImpl实现类

package com.zr.service.impl;

import com.zr.bean.User;
import com.zr.dao.impl.userDaoImpl;
import com.zr.dao.userDao;
import com.zr.service.userService;
public class userServiceImpl implements userService {
    //获取后台连接数据库的类
   userDao us=new userDaoImpl();
    @Override
    public boolean login(User user) {
        //判断数据库的类的密码是否满足要求
        if(us.login(user)!=null){
            return true;
        }
        return false;
    }
}

4、在dao文件夹下创建userDao接口以及userDaoImpl实现类

userDao接口

package com.zr.dao;
import com.zr.bean.User;
public interface userDao {
    User login(User user);
}

userDaoImpl实现类

package com.zr.dao.impl;

import com.mchange.v2.c3p0.ComboPooledDataSource;
import com.zr.bean.User;
import com.zr.dao.userDao;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;

import java.util.List;

public class userDaoImpl implements userDao {
    @Override
    public User login(User user) {
        //获取JdbcTemplate类,使用JdbcTemplate来操作数据库
        JdbcTemplate jdbc=new JdbcTemplate(new ComboPooledDataSource());
        String sql = "select * from users where user=? and password=?";
        //传入数据
        List<User> list = jdbc.query(sql, new BeanPropertyRowMapper<>(User.class), user.getUserName(), user.getPassword());
        if(!list.isEmpty()){
            return list.get(0);
        }
        return null;
    }
}

分层结构

Java Web学习之简易版登录界面_第6张图片
Java Web学习之简易版登录界面_第7张图片
Java Web学习之简易版登录界面_第8张图片

在写的过程中需要在web/WEB-INF/lib的目录下(如果没有lib目录就自行创建)导入mysql-connector的jar包、c3p0的jar包以及JdbcTemplate的jar包等等。

这样我们的一个简单版的java web登录界面就完成了 开心!!!!

你可能感兴趣的:(JavaWeb,JavaWeb简易版登录界面)