Java 使用 JSP + JDBC,实现一个简单的登陆程序

本贴最后更新于 2352 天前,其中的信息可能已经时异事殊

本次将不使用 ide,目录结构如下:
imagepng

我们需要编写 4 个页面,分别是:登陆窗口页面,信息校验页面,登陆成功页面,登陆失败页面

登陆窗口页面:

<html> <head> <title>登录测试title> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> head> <body> <center> <h1>欢迎登录 <h1> <hr> <form action="login_check.jsp" method="post"> <table border="1"> <tr> <td colspan="2"> 用户登录 td> tr> <tr> <td> 用户名: td> <td><input type="text" name="username">td> tr> <tr> <td>密码:td> <td><input type="password" name="password">td> tr> <tr> <td colspan="2"> <input type="submit" value="登录"> <input type="reset" value="重置"> td> tr> table> form> center> body> html>

信息校验页面:

<%@page contentType="text/html"%> <%@page pageEncoding="GBK"%> <%@page import="java.sql.*"%> html> <html> <head> <title>登录验证title> <body> <center> <hl>登录操作hl> <hr> <%!//定义若干个数据库常量 public static final String DBDRIVER = "org.gjt.mm.mysql.Driver"; public static final String DBURL = "jdbc:mysql://127.0.0.1:3306/test"; public static final String DBUSER="root"; public static final String DBPASS="123456"; %> <% Connection conn = null; //数据库连接 PreparedStatement pstmt=null; // 数据库预处理操作 ResultSet rs = null ;//查询要处理结杲集 boolean flag = false ;//保存标记 String name = null ;//保存真实姓名 %> <% try{ %> <% Class.forName(DBDRIVER); conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS); String sql = "SELECT username FROM user WHERE username=? AND password=?"; pstmt = conn.prepareStatement(sql); pstmt.setString(1,request.getParameter("username")); pstmt.setString(2,request.getParameter("password")); rs = pstmt.executeQuery(); // 查询 if(rs.next()){ //如杲有数据,则可以执行 flag = true ; //表示登陆成功 name = rs.getString(1); out.println("test"); } %> <% }catch(Exception e) { e.printStackTrace(); } finally{ try{ rs.close(); pstmt.close(); conn.close(); } catch(Exception e){} } %> <% if(flag) { // 登陆成功 out.println("success"); %> <jsp:forward page="login_success.jsp"> <jsp:param name="uname" value="<%=name%>"/> jsp:forward> <% } else { //登陆失败 %> <jsp:forward page="login_fail.html"/> <% } %> center> body> html>

登陆成功页面:

<%@page contentType="text/html"%> <%@page pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>登录成功,欢迎!</title> </head> <body> <center> <hl>登录操作</hl> <h2>登录成功</h2> <h2>欢迎<font color="red"><%=request.getParameter("uname")%></font>光临! </h2> </center> </body> </html>

登陆失败页面:

<%@page contentType="text/html"%> <%@page pageEncoding="GBK"%> <html> <head> <meta> <title>登录失败</title> </head> <body> <center> <h1>登录操作</h1> <h2>登录失败,请重新<a href="login.html">登录</a></h2> </center> </body> </html>

数据库使用 mysql,示例的 sql 语句,创建数据库:

SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for user -- ---------------------------- DROP TABLE IF EXISTS `user`; CREATE TABLE `user` ( `userid` varchar(30) NOT NULL DEFAULT '', `username` varchar(30) DEFAULT NULL, `password` varchar(20) DEFAULT NULL, PRIMARY KEY (`userid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- ---------------------------- -- Records of user -- ---------------------------- INSERT INTO `user` VALUES ('1', 'test', '123456'); INSERT INTO `user` VALUES ('2', 'admin', '123456');

现在下载 tomcat 解压缩版:拷贝\webapps\ROOT 下的
imagepng
到当前编写的网页目录,这一步是复制原始的 web.xml 文件过来,也可以自己手动编写。

在 tomcat/conf/server.xml 中添加配置:

<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <!--主要是添加这一个--> <Context path="/login" docBase="D:\test"/> <!-- SingleSignOn valve, share authentication between web applications Documentation at: /docs/config/valve.html --> <!-- <Valve className="org.apache.catalina.authenticator.SingleSignOn" /> --> <!-- Access log processes all example. Documentation at: /docs/config/valve.html Note: The pattern used is equivalent to using pattern="common" --> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log" suffix=".txt" pattern="%h %l %u %t &quot;%r&quot; %s %b" /> </Host>

在 tomcat/lib 下添加 JDBC mysql 连接驱动。
imagepng

完成,现在就启动 tomcat 容器!

访问项目路径:http://127.0.0.1:8080/login/login.html

imagepng

输入用户名和密码:

imagepng

成功登陆!

本文由 xynling 原创,转载请声明转载自 ynlflixin 的个人博客:http://abc.airenti.xin

  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3194 引用 • 8214 回帖
  • Web
    119 引用 • 433 回帖 • 8 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...

推荐标签 标签

  • 星云链

    星云链是一个开源公链,业内简单的将其称为区块链上的谷歌。其实它不仅仅是区块链搜索引擎,一个公链的所有功能,它基本都有,比如你可以用它来开发部署你的去中心化的 APP,你可以在上面编写智能合约,发送交易等等。3 分钟快速接入星云链 (NAS) 测试网

    3 引用 • 16 回帖
  • Swagger

    Swagger 是一款非常流行的 API 开发工具,它遵循 OpenAPI Specification(这是一种通用的、和编程语言无关的 API 描述规范)。Swagger 贯穿整个 API 生命周期,如 API 的设计、编写文档、测试和部署。

    26 引用 • 35 回帖 • 2 关注
  • 服务

    提供一个服务绝不仅仅是简单的把硬件和软件累加在一起,它包括了服务的可靠性、服务的标准化、以及对服务的监控、维护、技术支持等。

    41 引用 • 24 回帖 • 1 关注
  • 酷鸟浏览器

    安全 · 稳定 · 快速
    为跨境从业人员提供专业的跨境浏览器

    3 引用 • 59 回帖 • 46 关注
  • Word
    13 引用 • 40 回帖
  • frp

    frp 是一个可用于内网穿透的高性能的反向代理应用,支持 TCP、UDP、 HTTP 和 HTTPS 协议。

    20 引用 • 7 回帖
  • 书籍

    宋真宗赵恒曾经说过:“书中自有黄金屋,书中自有颜如玉。”

    76 引用 • 389 回帖
  • Angular

    AngularAngularJS 的新版本。

    26 引用 • 66 回帖 • 542 关注
  • SSL

    SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS 与 SSL 在传输层对网络连接进行加密。

    70 引用 • 193 回帖 • 412 关注
  • Spark

    Spark 是 UC Berkeley AMP lab 所开源的类 Hadoop MapReduce 的通用并行框架。Spark 拥有 Hadoop MapReduce 所具有的优点;但不同于 MapReduce 的是 Job 中间输出结果可以保存在内存中,从而不再需要读写 HDFS,因此 Spark 能更好地适用于数据挖掘与机器学习等需要迭代的 MapReduce 的算法。

    74 引用 • 46 回帖 • 567 关注
  • SQLite

    SQLite 是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是全世界使用最为广泛的数据库引擎。

    5 引用 • 7 回帖 • 2 关注
  • SpaceVim

    SpaceVim 是一个社区驱动的模块化 vim/neovim 配置集合,以模块的方式组织管理插件以
    及相关配置,为不同的语言开发量身定制了相关的开发模块,该模块提供代码自动补全,
    语法检查、格式化、调试、REPL 等特性。用户仅需载入相关语言的模块即可得到一个开箱
    即用的 Vim-IDE。

    3 引用 • 31 回帖 • 117 关注
  • ZeroNet

    ZeroNet 是一个基于比特币加密技术和 BT 网络技术的去中心化的、开放开源的网络和交流系统。

    1 引用 • 21 回帖 • 639 关注
  • Rust

    Rust 是一门赋予每个人构建可靠且高效软件能力的语言。Rust 由 Mozilla 开发,最早发布于 2014 年 9 月。

    58 引用 • 22 回帖 • 1 关注
  • CodeMirror
    1 引用 • 2 回帖 • 154 关注
  • iOS

    iOS 是由苹果公司开发的移动操作系统,最早于 2007 年 1 月 9 日的 Macworld 大会上公布这个系统,最初是设计给 iPhone 使用的,后来陆续套用到 iPod touch、iPad 以及 Apple TV 等产品上。iOS 与苹果的 Mac OS X 操作系统一样,属于类 Unix 的商业操作系统。

    87 引用 • 139 回帖 • 1 关注
  • Vue.js

    Vue.js(读音 /vju ː/,类似于 view)是一个构建数据驱动的 Web 界面库。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。

    267 引用 • 666 回帖 • 1 关注
  • Kubernetes

    Kubernetes 是 Google 开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。

    116 引用 • 54 回帖 • 5 关注
  • WiFiDog

    WiFiDog 是一套开源的无线热点认证管理工具,主要功能包括:位置相关的内容递送;用户认证和授权;集中式网络监控。

    1 引用 • 7 回帖 • 606 关注
  • 阿里巴巴

    阿里巴巴网络技术有限公司(简称:阿里巴巴集团)是以曾担任英语教师的马云为首的 18 人,于 1999 年在中国杭州创立,他们相信互联网能够创造公平的竞争环境,让小企业通过创新与科技扩展业务,并在参与国内或全球市场竞争时处于更有利的位置。

    43 引用 • 221 回帖 • 75 关注
  • CentOS

    CentOS(Community Enterprise Operating System)是 Linux 发行版之一,它是来自于 Red Hat Enterprise Linux 依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定的服务器以 CentOS 替代商业版的 Red Hat Enterprise Linux 使用。两者的不同在于 CentOS 并不包含封闭源代码软件。

    239 引用 • 224 回帖 • 1 关注
  • 京东

    京东是中国最大的自营式电商企业,2015 年第一季度在中国自营式 B2C 电商市场的占有率为 56.3%。2014 年 5 月,京东在美国纳斯达克证券交易所正式挂牌上市(股票代码:JD),是中国第一个成功赴美上市的大型综合型电商平台,与腾讯、百度等中国互联网巨头共同跻身全球前十大互联网公司排行榜。

    14 引用 • 102 回帖 • 319 关注
  • Caddy

    Caddy 是一款默认自动启用 HTTPS 的 HTTP/2 Web 服务器。

    12 引用 • 54 回帖 • 168 关注
  • 七牛云

    七牛云是国内领先的企业级公有云服务商,致力于打造以数据为核心的场景化 PaaS 服务。围绕富媒体场景,七牛先后推出了对象存储,融合 CDN 加速,数据通用处理,内容反垃圾服务,以及直播云服务等。

    28 引用 • 226 回帖 • 138 关注
  • 微服务

    微服务架构是一种架构模式,它提倡将单一应用划分成一组小的服务。服务之间互相协调,互相配合,为用户提供最终价值。每个服务运行在独立的进程中。服务于服务之间才用轻量级的通信机制互相沟通。每个服务都围绕着具体业务构建,能够被独立的部署。

    96 引用 • 155 回帖 • 1 关注
  • 链滴

    链滴是一个记录生活的地方。

    记录生活,连接点滴

    171 引用 • 3842 回帖
  • JRebel

    JRebel 是一款 Java 虚拟机插件,它使得 Java 程序员能在不进行重部署的情况下,即时看到代码的改变对一个应用程序带来的影响。

    26 引用 • 78 回帖 • 676 关注