1.登录页面 Login.html


<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>登录</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<div >
<h4 >
请输入您的登录信息
</h4>
<div ></div>
<form action="login.do" method="post">
<table>
<tr>
<td><label for="loginname">用户名:</label></td>
<td><input type="text" id="loginname" name="loginname" value="" style="width: 220px"></td>
</tr>
<tr>
<td><label for="password">密码:</label></td>
<td><input type="password" id="password" name="password" value="" style="width: 220px"></td>
</tr>
</table>
<div></div>
<label >
<input type="checkbox" />
<span>记住我的登陆信息</span>
</label>
<div></div>
<div></div>
<button>
<span>登录</span>
</button>
</form>
</div>
</body>
</html>

2.LoginServlet.java

package com.yanCheng.service.impl;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import com.yanCheng.controller.DataProvider;
import com.yanCheng.dao.*; public class LoginServelt extends HttpServlet { private final String ERROR_VIEW = "Error.view"; protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
request.setCharacterEncoding("utf-8");
String loginname = request.getParameter("loginname");
String password = request.getParameter("password");
if(checkLogin(loginname,password)){
//登录成功页面
response.sendRedirect("views/Home/Index.html");
}else{
//也可以像成功页面那样写
response.sendRedirect(ERROR_VIEW);
} } //读取数据库,验证登录
private boolean checkLogin(String loginname, String password) {
if (loginname != null && password != null) {
return !DataProvider.isResultSetNull("select * from yancheng.lcb_user_information "
+ "where LOGINNAME = '" + loginname + "' and PASSWORD = '" + password + "'");
}
return false;
} @Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
} @Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
} 3.建立数据库模型,主要实现数据库连接建立、执行查询、释放连接、判断等操作。
DataProvider.java package com.yanCheng.controllerimport java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger; public class DataProvider { //指定驱动名
protected static String driver = "com.mysql.jdbc.Driver";
//指定访问的URL
protected static String url = "jdbc:mysql://localhost:3306/yancheng";
//MySQL用户名
protected static String user = "root";
//MySQL密码
protected static String password = "123456";
//初始Connection
protected static Connection connection = null; //建立连接
public static Connection getConnection() {
try {
Class.forName(driver);
connection = DriverManager.getConnection(url, user, password);
return connection;
} catch (ClassNotFoundException | SQLException e) {
return null;
}
} //获取结果集
public static ResultSet getResultSet(String sql) {
Statement statement;
ResultSet resultSet = null;
Connection conn = getConnection();
if (conn != null) {
System.out.println("连接成功!");
try {
statement = conn.createStatement();
resultSet = statement.executeQuery(sql);
} catch (Exception e) {
}
return resultSet;
} else {
return null;
}
} //判断结果集是否为空
public static boolean isResultSetNull(String sql) {
int count = 0;
ResultSet resultSet = getResultSet(sql);
try {
while (resultSet.next()) {
count += 1;
}
} catch (SQLException ex) {
Logger.getLogger(DataProvider.class.getName()).log(Level.SEVERE, null, ex);
}
if (count == 0) {
return true;
} else {
return false;
}
} //是否执行
public static boolean execute(String sql) {
boolean success;
Statement statement;
Connection conn = getConnection();
if (conn != null) {
try {
statement = conn.createStatement();
success = statement.execute(sql);
} catch (Exception e) {
success = false;
}
} else {
success = false;
}
return success;
} //释放连接
public static void releaseConnection() {
try {
if (connection != null) {
connection.close();
}
} catch (Exception e) {
}
}
} 4.登录成功页面
index.html
写一个登录成功的html就好
5.d登录失败页面
error.java
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; /**
*
* @author Barudisshu
*/
public class Error extends HttpServlet { protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
/* TODO output your page here. You may use following sample code. */
out.println("<!DOCTYPE html>");
out.println("<html>");
out.println("<head>");
out.println("<meta charset=\"utf-8\">");
out.println("<title>会员登录成功页面</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>会员 " + request.getParameter("user") + " 你好</h1>");
out.println("</body>");
out.println("</html>");
} finally {
out.close();
}
} @Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
} @Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
} 6.web.xml配置
<servlet>
<servlet-name>LoginServlet</servlet-name>
<servlet-class>com.yanCheng.service.impl.LoginServelt</servlet-class>
</servlet>
<servlet>
<servlet-name>Failure</servlet-name>
<servlet-class>com.yanCheng.service.impl.Failure</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LoginServlet</servlet-name>
<url-pattern>/login.do</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Failure</servlet-name>
<url-pattern>/failure.view</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>Login.html</welcome-file>
<!--<welcome-file>Index.html</welcome-file>-->
</welcome-file-list>
 

servlet实现简单的登录功能的更多相关文章

  1. spring Boot 简单的登录功能,利用了jdbcTemplate.class完成sql语句的执行,无需service层、dao层和.xml文件

    1.搭建SpringBoot项目首先我们先在IDEA上创建一个SpringBoot的Web项目(1)file ——> new ——> project——> Spring Initia ...

  2. IDEA+JSP+Servlet+Tomcat简单的登录示例

    1.用IDEA新建Java WEB项目并配置Tomcat 这一部分可以参考之前的一篇随笔 https://www.cnblogs.com/lbhym/p/11496610.html 2.导入Servl ...

  3. Servlet课程0425(四) Servlet实现简单用户登录验证

    Login.java //登录界面 package com.tsinghua; import javax.servlet.http.*; import java.io.*; public class ...

  4. struts1实现简单的登录功能(附源码)

    环境:MyEclipse 14                                                                                     ...

  5. jsp&servlet初体验——用户登录功能实现

    数据库准备-创建db_login数据库  t_user表 1.创建web工程 2.创建用户model   user.java package com.gxy.model; public class U ...

  6. SpringBoot简单实现登录功能

    登陆 开发期间模板引擎页面修改以后,要实时生效 1).禁用模板引擎的缓存 # 禁用缓存 spring.thymeleaf.cache=false 2).页面修改完成以后ctrl+f9:重新编译: 登陆 ...

  7. Servlet实现简单的登录页面

    package emp; import java.io.IOException; import java.io.PrintWriter; import java.sql.Connection; imp ...

  8. PHP简单模拟登录功能实例分享

    1.curl实现模拟登录的代码,(只是实现服务器与服务器建立会话,其实并没有在客户端与服务器之间建立会话) <?php $cookie_jar = tempnam('./tmp','cookie ...

  9. express+mysql实现简单的登录功能

    登录页面图: node.js文件代码: const express=require("express"); const app=express(); const path=requ ...

随机推荐

  1. IDEA 代码规范插件

    前言 在工作过程中,每个人的代码习惯都不同,在一起工作做同一个项目,如果按照自己的习惯来,有可能造成代码维护困难,开发进度缓慢等. 代码规范的重要性 谷歌发布的代码规范中指出,80% 的缺失是由 20 ...

  2. css基础二

    1,文本 文本颜色: <style> body {color:red;} /*为body的所有字体设置字体颜色为红色*/ h1 {color:#00ff00;} /*为h1元素设置字体颜色 ...

  3. 【转】Python3 (入门6) 库的打包与安装

    Python3 (入门6) 库的打包与安装 本文由 Luzhuo 编写,转发请保留该信息. 原文: http://blog.csdn.net/Rozol/article/details/6940288 ...

  4. shiro执行原理

    一.架构 要学习如何使用Shiro必须先从它的架构谈起,作为一款安全框架Shiro的设计相当精妙.Shiro的应用不依赖任何容器,它也可以在JavaSE下使用.但是最常用的环境还是JavaEE.下面以 ...

  5. 在 VsCode 中自定义代码补全

    前言 之前公司的 Vscode 折腾成功过,如今给自己家装一个忘记怎么定义了,故回忆一下写个博文记录 代码补全顾名思义就是输入一两个字母自动提示相关的联想操作,由于VsCode非常精简所以很多联想没有 ...

  6. AD证书导入文档(单向认证)

    AD证书或者SSL证书导入的方法步骤(在root用户下操作) 1.  将证书命名为AD-PRO.cer,并确定证书的颁发. 2.  将/app/ad_cert/keystore下的原有证书删除掉和文件 ...

  7. SpringBoot系列三:SpringBoot自定义Starter

    在前面两章 SpringBoot入门 .SpringBoot自动配置原理 的学习后,我们对如何创建一个 SpringBoot 项目.SpringBoot 的运行原理以及自动配置等都有了一定的了解.如果 ...

  8. DO、DTO和VO分层设计的好处

      2016年10月23日 20:11:03 阅读数:10646 在Java中 VO. PO.DO.DTO. BO. QO.DAO.POJO的概念中介绍过Java中的各种模型概念.在这里简单再总结一下 ...

  9. 基于Python Django开发的一个mock

    最近研究了一下python的django框架, 发现这个框架不比Java spring boot差, mock同样一个接口, 代码量少很多, 维护起来也很方便, 废话不多说,直接上代码 1. 安装dj ...

  10. type=file的inpu美化,自定义上传按钮样式

    <div class="div1"> <div class="div2">点击上传</div> <input type ...