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。

点击勾选Creat projec from tempalte,点击next。

然后选择自己的文件夹路径完成创建。

这样我们完成了一个项目的完成。

二、写好jsp页面
在web/WEB-INF目录下写好自己要写的jsp页面
1、登录界面 login.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>登录页面</title>
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/login.css" rel="stylesheet">
<script src="js/jquery.js"></script>
<script src="js/bootstrap.js"></script>
</head>
<body>
<div class="container text-center">
<form class="form-signin" action="/loginServlet" >
<h2 class="form-signin-heading">登录</h2>
<input type="text" name="userName" class="form-control" placeholder="用户名" required autofocus>
<input type="password" name="password" class="form-control" placeholder="密码" required>
<button class="btn btn-lg btn-primary btn-block" type="submit">登录</button>
</form>
</div>
</body>
</html>
登录界面代码中有表单form代码,
<%--action是指将内容提交到哪个页面--%>
<form class="form-signin" action="/loginServlet" >
<h2 class="form-signin-heading">登录</h2>
<input type="text" name="userName" class="form-control" placeholder="用户名" required autofocus>
<input type="password" name="password" class="form-control" placeholder="密码" required>
<button class="btn btn-lg btn-primary btn-block" type="submit">登录</button>
</form>2、登录成功界面 success.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title></title>
</head>
<body>
登录成功
</body>
</html>3、登录失败界面 error.jsp
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>用户名或密码错误,请重新登录!</h1>
</body>
</html>三、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;
}
}分层结构

![[外链图片转存失败(img-9SWPECcB-1563174035288)(C:\Users\abcd-\AppData\Local\Temp\1563173920537.png)] Java写出登录的代码 javaee编写简单登录界面代码_User_07](https://s2.51cto.com/images/blog/202306/15153245_648abe9d7fe9057506.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=,x-oss-process=image/resize,m_fixed,w_1184)

在写的过程中需要在web/WEB-INF/lib的目录下(如果没有lib目录就自行创建)导入mysql-connector的jar包、c3p0的jar包以及JdbcTemplate的jar包等等。
这样我们的一个简单版的java web登录界面就完成了
















