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. luogu P5293 [HNOI2019]白兔之舞

    传送门 关于这题答案,因为在所有行,往后跳到任意一行的\(w_{i,j}\)都是一样的,所以可以算出跳\(x\)步的答案然后乘上\(\binom{l}{x}\),也就是枚举跳到了哪些行 如果记跳x步的 ...

  2. ionic 扫描二维码 Barcode Scanner、QR Scanner、ZBar

    1.简介 ionic 官方给我们提供了三个扫描二维码条形码插件,分别为: Barcode Scanner 样式好看,类似支付宝的扫描框.速度稍微比最后一个慢几百毫秒,主要问题是 Android 部分手 ...

  3. undefined reference to symbol 'pthread_create@@GLIBC_2.2.5' 的修改方法

    在编译DSO代码的时候会如下这样的问题: 检查DSO,在程序中没有用到pthread,但是在编译的时候却出现此类问题.仔细想了想了一下,在程序中用到了C++11中的线程std::thread,个人猜测 ...

  4. day01 进制转换与内存分布

    今日重点: 1.进制之间的转换 进制:指的是进位的制度.进制主要有二进制.八进制.十六进制等,计算机底层运用的是二进制,为了方便阅读,通常会使用八进制或十六进制进行表示.在32位系统中,通常使用八进制 ...

  5. 解决ajax跨域的办法,代理,cors,jsonp

    1.使用php做代理去请求第三方api接口 php是可以跨域的,我们利用ajax请求本域名中的php文件,php再去请求第三方接口文件,从而达到跨域目的. php做代理请求: ajax请求本域名php ...

  6. XAMPP环境下配置Phalcon框架

    目前环境:win7  xampp 从phalcon 官网下载如下包:https://phalconphp.com/en/download/windows phalcon_x86_vc11_php5.6 ...

  7. Linux下安装VMware Tools(使虚拟机支持文件拖拽)

    如图点击虚拟机找到安装VMware Tools选项,点击后会在虚拟机桌面显示一个光盘,双击进入如下页面: 选择压缩包将其复制放入Home中不带中文的文件夹: 打开终端,输入cd命令进入文件夹,将压缩包 ...

  8. 【原创】大数据基础之CM5(Cloudera Manager)+CDH5离线安装

    CM/CDH 5.16.1 CM官方:https://www.cloudera.com/products/product-components/cloudera-manager.html CDH官方: ...

  9. 浏览器兼容html头部<meta>标签主要内容详情

    <!DOCTYPE html> <head> <meta http-equiv="X-UA-Compatible" content="IE= ...

  10. Oracle 升级的必要性

    一.Oracle 历史 Oracle database 作为Oracle 公司的商业产品,凭借其稳定性和运行高效占据了全球三成以上的市场.并且主要是金融.政府等领域. Oracle 数据库拥有近40年 ...