Jsp JavaBean循序渐进教程(四)上

[特殊字符] 从零构建携程/飞猪机票价格爬虫:Python异步抓取与反爬对抗实战 在出行决策、竞品分析、价格预测模型训练等场景中,稳定获取携程(Ctrip)和飞猪(Fliggy)的实时机票价格波动数据是刚需。然而,这两大平台均部署了业界顶尖的反爬体系——包括但不限于:动态请求签名(SignToken设备指纹采集(UACanvasWebGL接口参数加密(X-Sign_abtestcookie混淆)频率限制与 IP 封禁(滑动窗口 + 行为检测)目录前言:为什么需要自建机票价格爬虫?一、技术选型与项目架构1.1 核心技术栈1.2 系统架构图(文字描述)1.3 法律与道德声明。 阅读详情
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> JavaServer Pages JavaBeans的数据库操作应用   上面已经讲了一个简单的JavaBean应用的计数器例子,当然在实际程序过程中,涉及的更多的还是和数据库相关的操作,所以在这一节我们将重点阐述JavaServer Pages和JavaBeans如何对数据库进行操作。这里我们选取了一个比较有代表性比较实用的例子,那就是用户注册管理,因为这在网上使用比较的频繁,不管是注册Email、有奖调查、购买物品或者加入社区等等都会涉及到一个用户注册的问题;另外一方面,它又比较有代表性,涉及到了数据库的记录增加,记录显示等常见操作,所以我们就拿用户注册开刀了。   程序采用Oracle Jdeveloper3.1开发,运行环境为Wiin2000 Tomcat3.1,数据库系统采用了Oracle8.16i。   首先我们建立一个数据库demodb,其字段如下面所示 username VARCHAR2(20) 用户名 password VARCHAR2(20) 密码 email VARCHAR2(30) Email地址 homepage VARCHAR2(50) 主页 signs VARCHAR2(200) 签名 regtime DATE 注册时间   接着我们建立几个JavaBeans和JavaServer Pages文件 db.java文件(封装数据库连接及一些底层操作) adduser.java文件(进行用户数据的读取以及添加操作) newuser.jsp文件(用户新增页面,用于输入用户注册信息) donewuser.jsp文件(进行用户注册信息添加) listuser.jsp文件(所有的注册用户信息列表)   为了方便大家看代码,在很多地方都进行了详细的注释和讲解,至于JavaBean中涉及到Java语法结构的东西,请大家参考Java书籍。   db.java文件   说明:这个JavaBean封装数据库连接及一些底层操作,派生出的类可以直接调用这些方法,另外提供了一个toChinese方法,主要用来进行中文数据的处理。   // Copyright (c) 2000 http://jspbbs.yeah.net package lyf; /** * A Class class. * $#@60;P$#@62; * @author liuyufeng */   //声明类库文件 import oracle.jdbc.driver.*; import java.net.*; import java.sql.*; import java.lang.*; import java.io.*; import java.util.*; public class db br>   //成员变量初始化 Connection conn = null; //数据库连接 ResultSet rs = null; //记录集 String Username=""; //用户名 String Password=""; //密码 String Email=""; //email String Homepage=""; //主页 String Signs=""; //签名   //db的构建器 public db() { try {   //注册数据库驱动程序为Oracle驱动 Class.forName(new oracle.jdbc.driver.OracleDriver()); } catch(java.lang.ClassNotFoundException e) {   //这样写是为了方便调试程序,出错打印mydb()就知道在什么地方出错了 System.err.println("mydb(): " e.getMessage()); } }   //executeQuery方法用于进行记录的查询操作   //入口参数为sql语句,返回ResultSet对象 public ResultSet executeQuery(String sql) { rs = null; try {   //建立数据库连接,使用Oracle的一种thin连接方式,demo为主机名字,demodb为数据库,后面的两个demo为用户名和密码 conn = DriverManager.getConnection("jdbc:oracle:thin:@demo:1521:demodb","demo","demo"); Statement stmt = conn.createStatement();   //执行数据库查询操作 rs = stmt.executeQuery(sql); } catch(SQLException ex) { System.err.println("db.executeQuery: " ex.getMessage()); } return rs; }   //executeUpdate方法用于进行add或者update记录的操作   //入口参数为sql语句,成功返回true,否则为false public boolean executeUpdate(String sql) { boolean bupdate=false; rs = null; try {   //建立数据库连接,其它参数说明同上面的一样 conn = DriverManager.getConnection("jdbc:oracle:thin:@demo:1521:demodb","demo","demo"); Statement stmt = conn.createStatement(); int rowCount = stmt.executeUpdate(sql);   //如果不成功,bupdate就会返回0 if(rowCount!=0)bupdate=true; } catch(SQLException ex) {   //打印出错信息 System.err.println("db.executeUpdate: " ex.getMessage()); } return bupdate; }   //toChinese方法用于将一个字符串进行中文处理   //否则将会是???这样的字符串 public static String toChinese(String strvalue) { try{ if(strvalue==null) { return null; } else { strvalue = new String(strvalue.getBytes("ISO8859_1"), "GBK"); return strvalue; } }catch(Exception e){ return null; } } }
YOLOv8源码解析与复现:ShuffleAttention:高效的混合注意力机制 实现通道和空间混合注意力 随着深度学习在计算机视觉领域的飞速发展,卷积神经网络(CNNs)已经成为图像分类、目标检测、语义分割等任务的核心。为了进一步提升模型的性能,研究者们引入了“注意力机制”,旨在让网络能够动态地关注输入数据中最具信息量的部分。经典的注意力模块,如SE-Net(Squeeze-and-Excitation Networks)和CBAM(Convolutional Block Attention Module),通过通道注意力或结合通道与空间注意力,显著增强了模型的特征表达能力。 阅读详情

相关推荐

西门子PLC实战:基于1200/1500的工业物联网MQTT通讯全解析

本文详细解析了如何在西门子S7-1200/1500系列PLC上实现工业物联网MQTT通讯。通过从硬件准备、网络配置到TIA Portal中MQTT_Client功能块的实战编程,手把手指导工程师打通车间数据桥梁,解决信息孤岛问题,实现PLC数据高效上云或设备间互联。

whisky的博客 1091

Jsp + JavaBean循序渐进教程(四)

  JavaServer Pages+JavaBeans的数据库操作应用  上面已经讲了一个简单的JavaBean应用的计数器例子,当然在实际程序过程中,涉及的更多的还是和数据库相关的操作,所以在这一节我们将重点阐述JavaServer Pages和JavaBeans如何对数据库进行操作。这里我们选取了一个比较有代表性比较实用的例子,那就是用户注册管理,因为这在网上使用比较的频繁,不管是注册Ema

!Java 4298

UDS诊断入门第一课:手把手教你玩转0x10会话控制服务(附ISO14229实战解析)

刚接触汽车电子诊断的工程师们,往往会被厚厚的ISO 14229标准文档和各种专业术语吓退。但就像学习编程要从"Hello World"开始一样,掌握UDS协议的最佳切入点就是0x10诊断会话控制服务。这个看似简单的服务,实际上是整个诊断系统的"钥匙"——它决定了ECU(电子控制单元)当前处于何种工作模式,直接影响着其他诊断服务的可用性。 在实际车辆诊断中,ECU默认处于DefaultSession模式,这种模式下许多高级诊断功能是被禁用的。想象一下你正在开发一个需要刷写ECU固件的工具,如果连最基本的会

weixin_30402343的博客 394

Jsp JavaBean循序渐进教程(四)下

google_ad_client = "pub-8800625213955058";/* 336x280, 创建于 07-11-21 */google_ad_slot = "0989131976";google_ad_width = 336;google_ad_height = 280;//<script type="text/java

java专栏 295

centos8 安装新版bind9源码

bind一直在更新,使用了比较多的新架构 本文记录新版本的bind怎么安装,以及其依赖库的安装 1. 在https://www.isc.org/download/ 下载最新stable版本bind,本文以bind-9.17.9.tar.xz为例。将软件传到/root目录下。 也可以到https://ftp.isc.org/isc/bind9/ 下载更多历史版本 2. 安装基本的依赖库,像gcc、amake等 3. 需要安装libuv库,但直接用yum时可能安装不全 建议使用源码安装,需要安..

linggang_123的博客 2539

零代码做游戏:AI辅助开发HTML5网页小游戏从创意到发布全流程

在软件开发领域,自然语言编程正成为一种新兴的人机协作方式,而AI辅助开发则是其最典型的落地形态。它让开发者无需精通语法,只需用清晰的语言描述游戏规则与交互逻辑,AI便能自动生成可运行的代码。这种模式大幅降低了编程门槛,尤其适合快速验证创意、制作原型。对于HTML5网页游戏而言,借助AI生成单个HTML文件,配合在线运行环境,即可在浏览器中直接试玩、迭代与分享。无论是产品经理验证玩法、运营人员制作互动小游戏,还是教育者设计课堂闯关,都能通过自然语言描述需求,让AI完成代码实现与报错修复。本文完整记录了一个“接

weixin_31497453的博客 339

Jsp + JavaBean循序渐进教程(四)下

adduser.Java文件  说明:主要进行用户数据的读取以及添加操作,从db派生出来,addNewUser方法用来进行用户数据的添加,checkUser()方法用来检查用户名是否重复,另外还有一些set/get方法用来对属性进行处理,dousernew.JSP文件将进行条用。  // Copyright (c) 2000 http://JSPbbs.yeah.netpackage lyf;/*

358

手把手教你用UC3842搭建12V/5A反激电源(附PSIM仿真文件)

本文详细介绍了基于UC3842的12V/5A反激电源设计与PSIM仿真实践。从UC3842芯片选型、高频变压器计算到PSIM仿真模型搭建,提供完整的开关电源设计流程。特别包含PCB布局要点和实测优化建议,帮助工程师快速掌握反激电源开发技巧。

u6v7w8x的博客 1203

Jsp + JavaBean循序渐进教程(四)上

JavaServer Pages+JavaBeans的数据库操作应用  上面已经讲了一个简单的JavaBean应用的计数器例子,当然在实际程序过程中,涉及的更多的还是和数据库相关的操作,所以在这一节我们将重点阐述JavaServer Pages和JavaBeans如何对数据库进行操作。这里我们选取了一个比较有代表性比较实用的例子,那就是用户注册管理,因为这在网上使用比较的频繁,不管是注册Email

429

仿真学习系列(三十):Sigrity设计文件(Altium Designer和Allegro)导入

很多刚接触 Sigrity 的工程师都会产生疑问:Sigrity 功能这么多,是不是门槛很高?我能学得会吗? 其实,Sigrity 的核心并不在“操作难”,而是在“理解仿真背后的机理”。一旦掌握基本流程,你会发现它并没有想象中那么复杂,反而能大大提升你的高速设计能力。本节内容,就是从最简单的一步开始 —— 把你的设计文件正确导入 Sigrity。

案例文章,高速信号 525

HLA分型

HLA分型 一、根据WES的tumor数据进行数据分型 选用hlahd 软件安装及使用 [root@18605fd8771e ~]# wget https://jaist.dl.sourceforge.net/project/bowtie-bio/bowtie2/2.4.1/bowtie2-2.4.1-linux-x86_64.zip [root@18605fd8771e ~]# unzip bowtie2-2.4.1-linux-x86_64.zip && mv bowtie2-2.4.1

qq_23435961的博客 2491

Jsp + JavaBean循序渐进教程

Jsp + JavaBean循序渐进教程(一)目前,Jsp作为一个很好的动态网站开发语言得到了越来越广泛的应用,在各类Jsp应用程序中,Jsp + Java Bean的组合成为了一种事实上最常见的Jsp程序的标准,就让我们来看看具体的Jsp是如何与Java Bean结合在一起的吧。   本教程将阐述JavaBean的原理,接着将阐述JavaBean在JavaServer Pag

宋威的专栏 1676

把 SAP Fiori Launchpad 配置文件放进 MIME Repository:从上传、缓存控制到可访问路径的完整实践

文章摘要: 在 SAP Fiori 项目中,Launchpad 配置文件的部署是关键挑战,核心在于通过 MIME Repository 而非直接修改标准文件来实现稳定配置。与 BSP Repository 相比,MIME Repository 支持显式设置客户端缓存时间(如 SAP 推荐的 7 天),适合生产环境治理。配置文件需为 JSON 格式,部署时需确保路径可访问(通过 ICF node 和 external alias),并注意语法错误会导致静默失效。实操步骤包括:在 SE80 中创建专用目录、设置

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 95

Jsp + JavaBean循序渐进教程(三)

Jsp与JavaBean结合的简单例子  上面讲了这么多,到现在还没有看到具体应用,那好,现在我们看看具体的JavaServer Pages+JavaBean的例子吧,首先让我们看看一个简单的计数器程序。  本例程共包含3个文件  JavaBean--counter.java文件,JavaServer Page-- counter.jsp文件, counter1.jsp文件其中,counter.j

albert的专栏 847

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

深度学习工具包 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")

JavaBean+jsp学习

目前,Jsp作为一个很好的动态网站开发语言得到了越来越广泛的应用,在各类Jsp应用程序中,Jsp + Java Bean的组合成为了一种事实上最常见的Jsp程序的标准,就让我们来看看具体的Jsp是如何与 Java Bean结合在一起的吧。  本教程将阐述JavaBean的原理,接着将阐述JavaBean在JavaServer Page下的特定语法,然后 演示一个使用Jsp+JavaBean的简

Oscar_King网络“求索”学堂 1853

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

【转】jsp+javabean 循序渐进 教程

Jsp + JavaBean循序渐进教程(一)--------------------------------------------------------------------------------Jsp + JavaBean循序渐进教程(一) (文/刘玉锋)  目前,Jsp作为一个很好的动态网站开发语言得到了越来越广泛的应用,在各类Jsp应用程序中,Jsp + Java Be

khuajun的专栏 845

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Jsp + JavaBean循序渐进教程(一)

yaomenglan69的专栏 514
上一篇: Jsp JavaBean循序渐进教程(三)
下一篇: Jsp JavaBean循序渐进教程(四)下
java169
博客等级 码龄19年 27粉丝 2568原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值