当前位置: 首页 > news >正文

Javaweb第一个项目——实现简单的登陆功能

第一步:打开idea-->文件-->新建

 

第二步:

在Demo文件夹 点击右键-->添加框架支持-->找到Web应用程序 勾选 

 第三步:配置Tomcat

 

 

 

 第四步:新建一个lib(建在web-INF文件夹下)文件夹  用于存放jar包

 可以先将mysql-connector导入 用于后续连接数据库

导入之后右键lib文件夹   找到“添加为库”  才能后续使用

 

在web文件 右键--》新建--》jsp文件

 

get_info.jsp


<%@ page contentType="text/html; charset=gb2312" %>
<%@ page language="java" %>
<%@ page import="com.mysql.jdbc.Driver" %>
<%@ page import="java.sql.*" %>
<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>这是连接MySQL数据库的测试</title>
</head>
<body>
<%//加载驱动程序String driverName="com.mysql.jdbc.Driver";//数据库信息String userName="root";//密码String userPasswd="";//数据库名String dbName="Student";//表名String tableName="stu_info";//将数据库信息字符串连接成为一个完整的url(也可以直接写成url,分开写是明了可维护性强)String url="jdbc:mysql://localhost/"+dbName+"?user="+userName+"&password="+userPasswd;Class.forName("com.mysql.jdbc.Driver");Connection conn=DriverManager.getConnection(url);Statement stmt = conn.createStatement();String sql="SELECT * FROM "+tableName;ResultSet rs = stmt.executeQuery(sql);
%><table><tr><td>学号</td><td>姓名</td><td>电话号码</td></tr><%while(rs.next()) {String no = rs.getString(1);String name=rs.getString(2);String phone=rs.getString(3);%><tr><td> <%=no%></td><td> <%=name%></td><td> <%=phone%></td></tr><%}%>
</table><%out.print("<br>");out.print("ok, Database Query Successd!");rs.close();stmt.close();conn.close();
%>
</body>
</html>

 check.jsp

<%@ page pageEncoding="UTF-8" %>    <%-- 设置显示编码 --%>
<%@ page import="dbc.DatabaseConnection"%> <%-- 负责数据库的连接 --%>
<%@ page import="java.sql.*" %> <%-- 负责JDBC的开发操作 --%>
<html>
<head><title>用户登录案例</title>
</head>
<body>
<%  // 本次直接通过JDBC编写数据库的认证操作String name = null; // 保存最终用户的姓名String mid = request.getParameter("name"); // 接收mid的请求参数String password = request.getParameter("password"); // 接收password请求参数String sql = "SELECT name FROM user WHERE name=? AND password=?";PreparedStatement pstmt = DatabaseConnection.getConnection().prepareStatement(sql);pstmt.setString(1, mid);pstmt.setString(2, password);ResultSet rs = pstmt.executeQuery(); // 执行数据查询if (rs.next()) {    // 有数据返回name = rs.getString(1); // 保存姓名}DatabaseConnection.close(); // 关闭数据库连接
%>
<%if (name == null) { // 登录失败,没有查询到name字段
%>      <%-- 如果现在存在有这个参数就表示出错了 --%><jsp:forward page="failer.jsp"/>
<%} else {
%>      <%-- 登录成功之后将姓名传递到欢迎页上进行显示 --%><jsp:forward page="success.jsp"><jsp:param name="name" value="<%=name%>"/></jsp:forward>
<%}
%>
</body>
</html>

 login.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>登录</title>
</head>
<body>
<form action="check.jsp" method="post">用户名:<input type="text" name = "name"><br>
密码:<input type="password" name = "password"><br><input type="submit" value="登录"></form>
</body>
</html>

success.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<h1>欢迎<%= request.getParameter("name")%>登录</h1>
</body>
</html>

 failer.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<h1>登录失败了,<a href="login.jsp">点击重新返回首页</a></h1>
</body>
</html>

项目写完之后,将使用的相关jar包导入即可  运行实现登陆界面 

相关文章:

Javaweb第一个项目——实现简单的登陆功能

第一步&#xff1a;打开idea-->文件-->新建 第二步&#xff1a; 在Demo文件夹 点击右键-->添加框架支持-->找到Web应用程序 勾选 第三步&#xff1a;配置Tomcat 第四步&#xff1a;新建一个lib&#xff08;建在web-INF文件夹下&#xff09;文件夹 用于存放jar包…...

OpenKruise 开发者不容错过的带薪实习机会!马上加入 LFX Mentorship 计划

LFX Mentorship 计划由 Linux Foundation 组织发起&#xff0c;为像 OpenKruise 这样的 CNCF 托管项目提供了激励开源贡献、扶植社区发展的优秀土壤。参与其中的开发者不仅有机会在经验丰富的社区 Mentor 指导下贡献开源项目、为职业生涯加分&#xff0c;完成工作后还能获得 $3…...

《c++ primer笔记》第八章 IO库

前言 简单看一下就行 文章目录一、IO类1.1基本概念1.2管理输出缓冲二、文件输入输出2.1文件模式三、string流3.1istringstream3.2ostringstream一、IO类 1.1基本概念 ​ 我们常见的流有istream和ostream&#xff0c;这两个流都是有关输入和输出的&#xff0c;此外&#xff0c…...

web开发 用idea创建一个新项目

这个写着就是给自己当备忘录用的QAQ 这个老师上课一通操作啥也没看清…卑微搞了半天看样子是成功了 记录一下省的以后忘了怎么创建&#xff08;&#xff1f; zufe lxy 2023.3 先行条件是已经自己装好了Tomcat和idea&#xff01;&#xff01;&#xff08;我的idea是申请了教育…...

【FMCW 03】测速

从上一讲 测距 末尾的frame讲起。我们知道一个chirp对应了一个采样后的IF信号&#xff0c;我们将这些采样后的IF信号按chirp的次序排列成一个帧&#xff08;frame&#xff09;&#xff0c;这就得到了我们实际中接收后处理的FMCW信号。 由于chirp的发射返回时间很短&#xff0c;…...

ERP(企业资源管理)概述

&#x1f31f;所属专栏&#xff1a;ERP企业资源管理&#x1f414;作者简介&#xff1a;rchjr——五带信管菜只因一枚&#x1f62e;前言&#xff1a;该系列将持续更新ERP的相关学习笔记&#xff0c;欢迎和我一样的小白订阅&#xff0c;一起学习共同进步~&#x1f449;文章简介&a…...

深入理解java虚拟机精华总结:性能监控和故障处理工具、类加载机制

深入理解java虚拟机精华总结&#xff1a;性能监控和故障处理工具、类加载机制性能监控和故障处理工具、类加载机制jpsjstatjinfojmapjhatjstackVisualVM类加载机制类加载的时机类加载的过程加载验证准备解析初始化类加载器类与类加载器双亲委派模型破坏双亲委派模型往期内容&am…...

推荐系统与推荐算法

文章目录第一章1.1推荐系统意义与价值1.2推荐系统历史与框架1.3推荐算法分类第二章2.1协同过滤的基本思想与分类2.2基于用户的协同过滤2.3基于项目的协同过滤2.4基于邻域的评分预测2.5基于二部图的协同过滤第三章3.1基于关联规则的推荐3.2基于矩阵分解的评分预测3.3概率矩阵分解…...

socket 编程实战(编写客户端程序 )

编写客户端程序 接着上一篇&#xff1a;实战服务端程序 接下来我们再编写一个简单地客户端应用程序&#xff0c;客户端的功能是连接上小节所实现的服务器&#xff0c;连接成功之后向服务器发送数据&#xff0c;发送的数据由用户输入。示例代码如下所示&#xff1a; #include…...

“巨亏成名”的魔鬼交易员,你知道几个?

谁说在期货市场上只有赚大钱才能出名&#xff1f;殊不知还有这样一群特殊的交易员靠着巨额亏损而“一战成名”&#xff0c;亏得是老东家元气大伤&#xff0c;外号“魔鬼交易员”——“不亏不成魔”&#xff01;接下来火象就给大家盘点几位代表性魔鬼交易员&#xff0c;看看他们…...

1380:分糖果(candy)

1380&#xff1a;分糖果(candy) 时间限制: 1000 ms 内存限制: 65536 KB 【题目描述】 童年的我们&#xff0c;将和朋友分享美好的事物作为自己的快乐。这天&#xff0c;C小朋友得到了Plenty of candies&#xff0c;将要把这些糖果分给要好的朋友们。已知糖果从一个人传…...

数据挖掘(2.1)--数据预处理

一、基础知识 1.数据的基本概念 1.1基础知识 数据是数据对象(Data Objects)及其属性(Attributes)的集合。 数据对象(一条记录、一个实体、一个案例、一个样本等)是对一个事物或者物理对象的描述。 数据对象的属性则是这个对象的性质或特征&#xff0c;例如一个人的肤色、眼球…...

PMP考前冲刺3.06 | 2023新征程,一举拿证

题目1-2&#xff1a;1.一名团队成员表示&#xff0c;他们的用户故事要等到迭代结束后才能完成&#xff0c;因为他们的职能经理要求他们协助解决高优先级的生产问题。项目经理应该做什么&#xff1f;A.将问题上报给项目发起人以解决和调整项目燃尽图B.与产品负责人讨论用户故事不…...

buuctf-pwn write-ups (11)

文章目录buu083-x_ctf_b0verfl0wbuu084-picoctf_2018_leak_mebuu085-inndy_echobuu086-hitcontraining_unlinkbuu087-ciscn_2019_final_3buu088-axb_2019_fmt64buu089-wustctf2020_name_your_catbuu090-pwnme1buu091-axb_2019_brop64buu092-[极客大挑战 2019]Not Badbuu083-x_c…...

【VTK】VTK隐藏vtkOutputWindow窗口的正确方法

VTK隐藏vtkOutputWindow窗口 要求隐藏vtkOutputWindow窗口&#xff0c;但是不能把Warning警告和Error错误的信息都给屏蔽了 网上常见的错误方法&#xff1a; 现在百度搜索出来的方法几乎都是在这样做&#xff1a;在main文件中使用vtkOutputWindow::SetGlobalWarningDisplay(0…...

顺序表以及链表的应用及区别(包含OJ讲解)

前面我已经发过怎么实现链表以及顺序表&#xff0c;今天大概的总结一下。 顺序表&#xff1a; 1.能够随时的存取&#xff0c;比较方便。 2.插入删除时&#xff0c;需要挪动数据&#xff0c;比较麻烦&#xff0c;因为是连续存储。 3.存储密度相对于链表来说是比较高的&#…...

JVM简介

一、什么是JVM JVM是Java Virtual Machine&#xff08;Java虚拟机&#xff09;的缩写&#xff0c;JVM是一种用于计算设备的规范&#xff0c;它是一个虚构出来的计算机&#xff0c;是通过在实际的计算机上仿真模拟各种计算机功能来实现的。 Java语言的一个非常重要的特点就是与平…...

Leetcode.1653 使字符串平衡的最少删除次数

题目链接 Leetcode.1653 使字符串平衡的最少删除次数 Rating &#xff1a; 1794 题目描述 给你一个字符串 s&#xff0c;它仅包含字符 a和 b​​​​ 。 你可以删除 s中任意数目的字符&#xff0c;使得 s平衡 。当不存在下标对 (i,j)满足 i < j&#xff0c;且 s[i] b的同…...

leetcode 71~80 学习经历

leetcode 71~80 学习经历71. 简化路径72. 编辑距离73. 矩阵置零74. 搜索二维矩阵75. 颜色分类76. 最小覆盖子串77. 组合78. 子集79. 单词搜索80. 删除有序数组中的重复项 II小结71. 简化路径 给你一个字符串 path &#xff0c;表示指向某一文件或目录的 Unix 风格 绝对路径 &am…...

使用metrics-server监控k8s的资源指标

首先&#xff0c;欢迎使用DHorse部署k8s应用。 k8s可以通过top命令来查询pod和node的资源使用情况&#xff0c;如果直接运行该命令&#xff0c;如下所示。 [rootcentos05 deployment]# kubectl top pod W0306 15:23:24.990550 8247 top_pod.go:140] Using json format to …...

Python-ADB协议实现原理:深入理解ADB和Fastboot通信机制

Python-ADB协议实现原理&#xff1a;深入理解ADB和Fastboot通信机制 【免费下载链接】python-adb Python ADB Fastboot implementation 项目地址: https://gitcode.com/gh_mirrors/py/python-adb Python-ADB是一个强大的开源项目&#xff0c;提供了ADB&#xff08;Andr…...

开源RPA工具Clawless:本地化低代码自动化实战与核心原理

1. 项目概述&#xff1a;从“无爪”到“有手”&#xff0c;一个开源RPA项目的诞生最近在GitHub上闲逛&#xff0c;发现了一个挺有意思的项目&#xff0c;叫“Clawless”&#xff0c;直译过来是“无爪”。初看这个标题&#xff0c;你可能会有点摸不着头脑&#xff0c;这跟自动化…...

基于本地大语言模型与小米设备协议构建私有化智能家居AI控制中枢

1. 项目概述&#xff1a;一个为小米设备打造的本地化AI大脑最近在折腾智能家居&#xff0c;特别是小米生态链的设备&#xff0c;发现一个挺有意思的痛点&#xff1a;虽然小爱同学用起来很方便&#xff0c;但很多高级的、定制化的智能场景&#xff0c;要么得在米家App里做复杂的…...

无风扇智能本设计全解析:从被动散热原理到工程实践

1. 项目概述&#xff1a;一台“安静”的电脑&#xff0c;究竟意味着什么&#xff1f;最近在折腾一个挺有意思的项目&#xff0c;名字叫“无风扇创新智能本”。乍一听&#xff0c;你可能觉得这不就是一台没有风扇的笔记本电脑吗&#xff1f;市面上不是早就有一些主打静音的轻薄本…...

基于Claude的AI编程助手:从代码生成到自动化审查的全流程实践

1. 项目概述&#xff1a;当Claude遇上代码&#xff0c;一个全能型AI编程助手的诞生最近在GitHub上闲逛&#xff0c;发现了一个挺有意思的项目&#xff0c;叫“everything-claude-code”。光看名字&#xff0c;你可能会觉得这又是一个普通的AI代码生成工具&#xff0c;但实际深入…...

Win10 任务管理器点击“详细信息”崩溃 + U盘 PPTX 无法删除/复制(0x800700EA)问题排查

一、问题现象 最近遇到一个比较奇怪的问题&#xff1a; Win10 系统 任务管理器只能以“小窗口模式”打开 点击“详细信息”后直接崩溃 事件查看器报错&#xff1a; 错误应用程序名称: taskmgr.exe 版本: 10.0.19041.6280同时还伴随另一个问题&#xff1a; U盘中的 .pptx …...

JAVA练习:单一职责原则重构

问题背景原始Login类同时承担界面展示、登录校验、数据库连接、用户查询、程序入口多重职责&#xff0c;功能高度耦合&#xff0c;违反单一职责原则&#xff08;一个类只负责一类功能&#xff09;&#xff0c;修改某部分功能易影响其他模块。重构思路按职责拆分&#xff0c;分为…...

Perplexity搜索精度暴跌?揭秘92%开发者忽略的4个底层参数配置陷阱

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Perplexity搜索精度暴跌&#xff1f;揭秘92%开发者忽略的4个底层参数配置陷阱 Perplexity 作为评估语言模型输出质量的核心指标&#xff0c;其数值异常飙升&#xff08;如从 12.3 暴增至 89.7&#xff…...

为Claude Code配置Taotoken解决API密钥不稳定与Token不足问题

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 为Claude Code配置Taotoken解决API密钥不稳定与Token不足问题 应用场景类&#xff0c;许多开发者使用Claude Code作为编程助手但常…...

完整指南:如何用3D打印技术构建高精度六轴机械臂Faze4

完整指南&#xff1a;如何用3D打印技术构建高精度六轴机械臂Faze4 【免费下载链接】Faze4-Robotic-arm All files for 6 axis robot arm with cycloidal gearboxes . 项目地址: https://gitcode.com/gh_mirrors/fa/Faze4-Robotic-arm Faze4是一个完全开源的6轴工业级机械…...