jsp连接oracle数据库并实现简单登录功能,来自网络,部分修改。(亚信联创实习)

jsp+Oracle实现登录界面 用JSP实现的登录界面,结合oracle数据库, 运用javabean等知识! 立即下载

共三个页面:login.jsp、loginconf.jsp、loginsucess.jsp

用户首先打开login.jsp输入用户名及密码,此时login.jsp会将输入的用户名及密码提交到loginconf.jsp

loginconf.jsp通过初始化连接数据库,对用户名及密码进行判断。如果正确则跳转到loginsucess.jsp

否则回到login.jsp页面并提示用户,用户名或者密码错误!

如果用户直接打开。loginconf.jsp或者loginsucess.jsp则会通过判断session来确定用户是否登录成功了,防止黑客在没有登录的情况下就如管理界面。

如果未登录则自动跳转到登录界面!

login.jsp 代码如下:

<%@ page contentType="text/html;charset=gb2312"%>
<html>
<head>
<center>
<titl><h1>JDBC+JSP 登录程序</h1></title>
<hr>
<br>

<form action="loginconf.jsp" method="post">
<table width="1">
   <tr>
    <td colspan="2">用户登录</td>
   </tr>
   <tr>
    <td >用户名:</td>
    <td><input type="text" name="id"></td>
   </tr>
   <tr>
    <td>密&nbsp;&nbsp;码:</td>
    <td><input type="password" name="password"></td>
   </tr>
   <tr>
    <td><input type="submit" value="登录"></td>
    <td><input type="reset" value="重置"></td>
   </tr>
</table>
</form>
<%
   // 判断是否有错误信息,如果有则打印
   // 如果没有此段代码,则显示时会直接打印null

   if(request.getAttribute("err")!=null)
   {
%>
    <h4><font color="red"><%=request.getAttribute("err")%></font></h4>
<%
   }
%>
</center>
</head>
<body>
</body>
</html>

 

loginconf.jsp

<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import = "java.sql.*"%>
<html>
<head>
<center>
<titl><h1>JDBC+JSP 登录程序</h1></title>
<hr>
<br>
</center>
</head>
<body>
<%--
使用JDBC连接ORACLE数据库
--%>
<%!
String DBDRIVER = "oracle.jdbc.driver.OracleDriver";
String DBURL = "jdbc:oracle:thin:@127.0.0.1:1521:YK";
String DBNAME = "scott";
String DBPASS = "tiger";
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;

%>
<%
boolean flag = false;
//接收参数
String name = request.getParameter("id");
String password = request.getParameter("password");
%>

<%
//连接数据库
String sql = "SELECT name from login where name=? and password=?";

try {
   Class.forName(DBDRIVER);
   conn = DriverManager.getConnection(DBURL,DBNAME,DBPASS);
   pstmt = conn.prepareStatement(sql);//防止sql注入攻击
   pstmt.setString(1,name);
   pstmt.setString(2,password);
   rs = pstmt.executeQuery();
   if(rs.next()) {
    out.println(rs.getString("name"));
     flag = true;
     session.setAttribute("uname",rs.getString("name"));
   } else {
    request.setAttribute("err","用户名或密码错误!");
   }

   rs.close();
   pstmt.close();
   conn.close();

}catch (Exception e) {
   out.println(e);
}
%>


   <%
//跳转
if(flag) {
   //如果用户登录成功,则跳转到欢迎界面
   //否则提示用户登录失败
%>

<jsp:forward page="loginsuccessf.jsp" />

<%

}
else {  
%>

<jsp:forward page="login.jsp"/>
<%
}
%>

</body>
</html>

 

loginsucess.jsp

<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<head>
<center>
<titl><h1>JDBC+JSP 留言管理程序</h1></title>
<hr>
<br>
</center>
</head>
<body>
<%
if(session.getAttribute("uname")!=null) {
   //用户已登录成功
%>
   <center><h2>欢迎<font color="red" size=12><%=session.getAttribute("uname")%></font>进入留言管理系统
   </h2></center>
<%
}
else {
   //未登录,提示用户登录
   response.setHeader("refresh","2;URL=login.jsp");
%>
   您还未登录,2秒将后自动跳转到登录界面<br>
   如果没有自动跳转,请<a href="login.jsp"><font color="greed">点击</font></a>这里登录!<br>

<%
}

%>

</body>
</html>

使用jsp实现登录页面,增删改查页面,oracle数据库。 用于练习jsp 和 JDBC 数据库增删改查sql命令 分页查询等功能 立即下载

相关推荐

JSP+Oracle学生信息管理系统

该系统简单的实现了纯JSP页面与Oracle的链接 并实现了简单的增删改查功能。实现了系统的所需功能!

使用JSP连接ORACLE数据库做的一个简单登录框架

这是常见的用户登录方式!未采用MVC模式,只是为了实现功能!通过连接数据库,来获得用户名及密码!共三个页面:login.jsp、loginconf.jsp、loginsucess.jsp流程如下:用户首先打开login.jsp输入用户名及密码,此时login.jsp会将输入的用户名及密码提交到loginconf.jsploginconf.jsp通过初始化连接数据库,对用户名

JAVA初学专栏 1万+

JSP+Oracle网络应用系统开发与实例源代码

源码有两种类型:示例程序和实例程序。 1、示例程序 示例程序为第3、7章介绍的程序,在此以第七章示例程序为例介绍此类代码的使用。进入第七章示例程序文件夹,如图1所示,将里面的文件直接拷贝至【Tomcat安装路径/Webapps/root】下,按照第3、7章介绍相应示例程序时所描述的配置方式配置好Tomcat服务器,然后直接在浏览器上输入http://localhost:端口号/文件名 即可。 2、实例程序 第8-13章的源程序为实例程序,在此以第9章的程序为例。进入网上求职-第九章示例程序,如图2所示。然后参照第5章中介绍的恢复数据库的方法将网上求职-第九章示例程序下的数据库文件夹中的qiuzhi_table.sql导入到Oracle数据库中。然后将网上求职-第九章示例所有的文件(包括文件夹)拷贝至【Tomcat安装路径/Webapps/root/自定义的文件名】下,直接在浏览器上输入http://localhost:端口号/自定义的文件名 即可。

基于Oracle数据库的学生信息管理系统的设计与开发(JSP)

使原本的旧的管理办法越来越不适应现在社会的发展。要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面:针对用户可能出现的使用问题,要提供足够的帮助,缩短用户对系统熟悉的过程[10]。而要实现这一点,应通过系统的开放性来完成,既系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。学生信息管理系统对数据的处理有很高的要求,因为对学生信息的处理非常频繁,所以要有一定的人员维护数据的一致性,在数据录入处控制数据的去向,并且要求对数据库的数据完整性进行严格的约束。

毕业作品网站 2513

java+jsp+oracle实现基本的企业管理系统源码

java+jsp+oracle实现基本的企业管理系统源码

JSP+Oracle 学生课程信息管理系统(完整源码+数据库)

jsp+Servlet+Oracle 学生课程信息管理,内含数据库,源代码。 毕业设计,课程设计都可用! 直接将 .dmp文件附加到oracle数据库即可发布使用!功能实用!欢迎下载!

jsp实现多用户登陆_登陆注册练习

在学习完servlet与jsp技术后,我们可以先来做一个小练习,来实现第一个网页与后台和数据库之间的交叉练习;实现简单的来说要达到三个需求:实现用户登录实现用户退出实现用户注册简单来说就是要进行这样的分析:用户登录:根据用户名和密码查询用户信息。查到则登录成功,查不到则登录失败。用户退出:销毁session用户注册:将用户注册信息插入数据库首先呢我们要在数据库中创建一个表叫做t_user建表语句与...

weixin_35876760的博客 1474

jsp+tomcat+oracle企业员工管理系统

用jsp做的企业员工管理系统,数据库用的是oracle,实现了企业员工管理系统的基本功能

jsp连oracle密码错误,jsp连接Oracle错误:ocijdbc8.dll already loaded 解决方法

Bean 教本/************************************************Java 连接数据库 Java Bean@author:Seaman JiangLast Modified:23,Apr,2004*************************************************/package jwsystem;import java....

weixin_29344293的博客 197

CAPL编程入门:从零开始掌握汽车通信脚本语言

本文详细介绍了CAPL编程的基础知识,从开发环境搭建到核心语法精要,再到总线通信实战和高级调试技巧。CAPL作为汽车通信脚本语言,专为CAN、LIN等网络协议设计,帮助工程师高效完成车载网络测试。通过实战案例和性能优化建议,读者可以快速掌握CAPL编程技能。

s1t2u3的博客 979

ROS2 Jazzy 学习路线图(2026最新)

摘要: ROS2 Jazzy(LTS版)是2026年长期支持版本,仅适配Ubuntu 24.04。本文提供WSL环境下的学习路线图: 环境搭建(1-2天):配置WSL2+Ubuntu 24.04,安装ROS2 Jazzy及图形工具(VcXsrv、VS Code)。 核心概念(3-5天):掌握节点、话题、服务等通信机制,使用turtlesim和小海龟仿真实践。 开发实战(7-10天):Python/C++节点开发,结合RViz2、Gazebo等工具完成多节点通信和避障项目。 进阶应用(10-15天):导航(N

zheng_ruiguo的专栏 640

jsp操作oracle,JSP直接连接Oracle

< contentType="text/html;charset=gb2312"%>< import="java.sql.*"%>Class.forName("oracle.jdbc.driver.OracleDriver");String url="jdbc:oracle:thin:@127.0.0.1:1521:数据库id";String user="用户名";Stri...

weixin_36434531的博客 258

企业AI Agent审计与合规:从日志留存到网络联动的完整落地指南

审计日志是企业安全与合规体系的基石,尤其在AI Agent大规模接入业务后,如何完整记录其行为链成为新的挑战。从日志留存180天到PCI DSS合规要求,审计体系需要覆盖会话、推理、工具调用、数据访问等关键环节,并结合不可篡改的存储设计,确保证据链可信。同时,借鉴上网行为管理设备对应用行为控制审计的思路,以及Kismet被动监测网络流量的方法论,将网络侧审计与应用侧日志交叉验证,能有效发现越权和异常行为。本文从日志采集、全链路追踪、基线预警到多租户隔离,系统梳理了AI Agent审计与合规落地的关键路径,帮

weixin_32234493的博客 269

jsp oracle 环境配置文件,JSP+Oracle 环境搭建4 -- 安装 Eclipse

一.Eclipse 安装解压 eclipse-SDK-3.2.2-win32.zip, 路径 D:/eclipse解压后 eclipse.exe 即为可运行程序。二.Tomcat 插件安装解压 tomcatPlugin+3.2.1.rar,将其放入D:/eclipse/plugins目录下,如图1所示。 三.MyEclipse 插件安装双击“MyEclipseEnterpriseWorkbe...

weixin_39839968的博客 220

软考高级-系统架构设计师 知识点整理 (一篇就够了 建议收藏)

软考高级-系统架构设计师知识点整理---十万字总结,助你通过高级

片言可决讼,半纸能缚龙 7349

openpi 入门教程(一)安装、训练、微调与推理

OpenPI是由物理智能团队发布的机器人开源模型和软件包,包含两种主要模型:基于流的扩散视觉-语言-动作模型(VLA)的π₀模型和基于FAST动作标记器的自回归VLA的π₀-FAST模型。这些模型已在超过10,000小时的机器人数据上进行了预训练,并提供了基础模型检查点,支持开箱即用或根据用户数据集进行微调。OpenPI的实验性质意味着它可能不适用于所有平台,但鼓励研究人员和从业者进行创造性实验。运行这些模型需要至少具备NVIDIA GPU,推荐使用RTX 4090或更高规格的显卡。OpenPI支持在Ubu

2506_90492529的博客 5108

使用jsp进行简单的网页登录(数据库为Oracle)

工具:IDE-MyEclipse  数据库:Oracle第一步:建立web项目第二步:导包(Oracle连接库)第三步:index.jsp页面第四步:使用HttpServlet获取jsp内容第五步:JDBC获取数据库内容并判断第六步:响应**************************************************第一步:建立web项目finish即可第二步:导包(Oracl...

Swayingleaves 6074

RK3588部署YOLOv11与RKNN全流程教程

本文详细介绍了在RK3588开发板上部署YOLOv11目标检测模型的全流程。主要内容包括:PC端CUDA/cuDNN环境配置、Anaconda虚拟环境搭建、RKNN Toolkit2安装;YOLOv11模型从PyTorch到ONNX再到RKNN的格式转换;以及RK3588开发板的系统配置、RKNPU驱动安装和最终推理实现。教程提供了完整的代码示例,帮助开发者快速在边缘设备上实现高效的AI推理应用,涵盖从环境准备到实时检测的全套解决方案。

FJN110的博客 376

使用JSP实现用户登录

关于使用JSP实现用户登录初探

u011526599的专栏 4万+

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

jsp连接oracle实现登录注册(简单)

要求 tomcat、oracle数据库服务启动 需要一个Oracle的驱动器,放在WEB-INFO的lib。版本号如下: 数据库文件 在Oracle数据库中的scott的连接,建立一个名字叫t_user的表,表格的字段为username,password。 login.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html>

qq_43711676的博客 1213

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Java程序连接oracle数据库,并实现注册与登录功能

易错点:1.运行时出错:ORA-00913: 值过多。 主要是因为程序里的参数个数与oracle 数据库中的表中的参数个数不一致。本程序中我在Oracle中创建的表有三个属性:create table users( id number(7) primary key, name varchar2(10) unique, password varchar2(8)

ChamBay的博客 4687

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

上一篇: 学校举行的ACM,有道题没弄明白!!
下一篇: java连接oracle数据库(亚信联创实习)
0c0c0f
博客等级 码龄15年 37粉丝 63原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值