- 浏览: 216349 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
a66756675:
...
tomcat:tomcat的OutOfMemoryError解决 -
ooo456mmm:
说的对,如果用Mina框架来处理,要简单很多了
NIO socket服务器注意的几点. -
long_ltoy:
这样的话,看上去是代替了session,但这不和session ...
在JSP中使用JAVABEAN代替Session -
linzx0212:
关注下,不错……
tomcat:tomcat的OutOfMemoryError解决 -
liudeh_009:
总结得很好
NIO socket服务器注意的几点.
带属性标签开发全过程----j2ee小应用之二(Inber)
标签应用:
数据源
MyDataSource2
用户sa
密码(空)
数据库pubs 表:employee
说明:windows ODBC ---SQL 数据库pubs 表:employee
功能:检索 job_lvl>=(输入值)and job_lvl<=(输入值)的数据记录,在JSP页面中任意想调用的地方
调用它。
(1)
标签处理程序:EmployeeTag.java
package net.inber;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
import java.util.Hashtable;
import java.io.Writer;
import java.io.IOException;
import java.util.Date;
import java.sql.*;
import java.math.*;
import java.util.*;
public class EmployeeTag extends TagSupport
{
Connection con = null;
Statement state = null;
ResultSet rs = null;
private String min;
private String max;
public void setMinValue(String t)
{
this.min = t;
}
public String getMinValue(){return this.min;}
public void setMaxValue(String m)
{
this.max = m;
}
public String getMaxValue(){return this.max;}
public EmployeeTag() throws ClassNotFoundException
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
public int doStartTag() throws JspTagException {
return EVAL_BODY_INCLUDE;
}
public int doEndTag()throws JspTagException
{
String dateString =new Date().toString();
try
{
pageContext.getOut().write("");
try{
JspWriter out = pageContext.getOut();
con = DriverManager.getConnection("jdbc:odbc:MyDataSource2","sa","");
String strQuery = "select emp_id,fname,lname,job_lvl,hire_date from employee where job_lvl>="+min+" and job_lvl<="+max;
System.out.println(strQuery);
state = con.createStatement();
rs = state.executeQuery(strQuery);
String emp_id=null;
String fname=null;
String lname=null;
String job_lvl=null;
String hire_date=null;
out.write("<table width='677' height='22' border='1'>") ;
while(rs.next())
{
emp_id = rs.getString(1);
fname = rs.getString(2);
lname = rs.getString(3);
job_lvl = rs.getString(4);
hire_date = rs.getString(5);
out.write("<tr>");
out.write("<td width='25%'>"+emp_id+"</td>");
out.write("<td width='17%'>"+fname+"</td>");
out.write("<td width='13%'>"+lname+"</td>");
out.write("<td width='9%'>"+job_lvl+"</td>");
out.write("<td width='36%'>"+hire_date+"</td>");
out.write("</tr>");
}
out.write("</table>");
}
catch(Exception e)
{
//throw new JspTagException("Fatal error:connect error!");
}
}
catch(IOException ex)
{
throw new JspTagException("Fatal error:hello tag conld not write to JSP out");
}
return EVAL_PAGE;
// return SKIP_PAGE;
}
}
(2)配置标签库描述符(TLD)文件 configTLD.tld
<?xml version="1.0" encoding="ISO-8859-1" ?>
<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee web-jsptaglibrary_2_0.xsd"
version="2.0">
<description>A tag library exercising SimpleTag handlers.</description>
<tlib-version>1.0</tlib-version>
<description>
A simple tab library for the examples
</description>
<tag>
<!-- 标识描述 -->
<description>select db pubs tb employees </description>
<!--定义标识名字 -->
<name>selectSQL</name>
<!--定义标识的关联类 -->
<tag-class>net.inber.EmployeeTag</tag-class>
<body-content>jsp</body-content>
<!--带参数标识-->
<attribute>
<!--参数名-->
<name>maxValue</name>
<required>true</required>
<!-- 是否允许表达式输出-->
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>minValue</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
</taglib>
(3)创建index.jsp文件
<%@ taglib uri="/tagURI" prefix="myTag" %>
<%@ page import="net.inber.*"%>
<%@ page contentType="text/html; charset=gb2312" language="java" %>
<html>
<head>
<title>first cumstomed tag</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
<table width="386" height="67" border="0">
<tr>
<td><form name="form1" method="post" action="">
<table width="392" height="94" border="0">
<tr>
<td>输入最大值
<input name="theMaxPut" type="text" id="theMaxPut"></td>
</tr>
<tr>
<td>输入最小值
<input name="theMinPut" type="text" id="theMinPut"></td>
</tr>
<tr>
<td><input type="submit" name="Submit" value="提交">
<input name="hd" type="hidden" id="hd" value="yes"></td>
</tr>
</table>
</form></td>
</tr>
</table>
<%
String theMax,theMin;
String ghd;
ghd=request.getParameter("hd");
theMax=request.getParameter("theMaxPut");
theMin=request.getParameter("theMinPut");
%>
<p>以下的内容从库pubs检索表employee中job_lvl大于等于(输入值)<%=theMin%>小于(输入值)<%
=theMax%>的记录显示:</p>
<table width='677' height='21' border='1' bgcolor="#C14646">
<tr>
<td width="25%" >编号</td>
<td width="17%">名 </td>
<td width="13%">姓 </td>
<td width="9%">job_lvl</td>
<td width="36%">日期</td>
</tr>
</table>
<myTag:selectSQL minValue='<%=theMin%>' maxValue='<%=theMax%>'/>
此为主体结束部分
</body>
</html>
(4)最后布署(将文件按tomcat 目录结构布署,将修改web.xml文件如下)
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
Copyright 2004 The Apache Software Foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web
-app_2_4.xsd"
version="2.4">
<display-name>Welcome to Tomcat</display-name>
<description>
Welcome to Tomcat
</description>
<!-- JSPC servlet mappings start -->
<taglib>
<!-- 定义标签URI -->
<taglib-uri>/tagURI</taglib-uri>
<!--定义标签具体位置 -->
<taglib-location>/WEB-INF/tlds/configTLD.tld</taglib-location>
</taglib>
<!-- JSPC servlet mappings end -->
</web-app>
总结:小技巧--注意JSP 页面定义的属性名开头第一个字母要小写如 minValue 在处理程序中的set(get)
方法后第一个字母要大写以免混淆出错;在各项文件配置参数中应该尽量避免同名的参数出现以免造成难
以理解,造成维护的麻烦。
本例原代码下载:http://inber.51.net/csdn_blog/soft/tag2.rar
发表评论
-
Java字典:如何从程序员升级到架构师.
2012-03-24 23:32 0最近好多同学问学习java ... -
一个Java程序员应该掌握的10项技能
2011-12-08 12:56 9161、语法:必须比较熟 ... -
自定义log4j中的DailyRollingFileAppender
2011-03-11 22:47 4069需求: 日志内容是自定义的。例如,登录信息记录到一个日志文 ... -
google 测试
2010-05-11 16:32 788在Google,测试有一个721的原则:70%的测试工作在底层 ... -
项目测试风险总结
2009-12-01 11:38 1002随着项目规模的扩大,项目的复杂性也逐渐增加,在项目中做好风险控 ... -
性能测试总结之性能监控篇
2009-12-01 11:35 1602在性能测试的整个流程当中,监控起着至关重要的作用。因为在性 ... -
如何编写高质量的Java代码
2009-10-14 09:17 1178如何编写高质量的Java代码: 1、 养成良好的习惯及 ... -
一直在用的类注释
2009-10-10 09:17 704/** * @Filename: ${file_na ... -
rapid-framework 连接 oracle时的一个bug
2009-04-28 17:40 2186在连接oracle数据库时报错: Exception ... -
xapool的框架配置
2008-12-17 10:31 2740package juan.orm.datasource.imp ... -
NIO socket服务器注意的几点.
2008-12-06 17:36 4360当你看到这篇文 ... -
jsp分页
2004-06-23 04:26 901******************************* ... -
解决jsp中乱码问题
2004-06-23 04:28 737数据库存储最好用8859_1的格式,所以存入数据库的时候进行一 ... -
使用类文件的数据库连接方法
2004-06-23 04:34 636******************************* ... -
jsp中文显示问题
2004-06-23 04:40 55510:30 2003-11-29 InberGong整理&l ... -
不用数据源直接连sqlserver数据库(jsp,中文)
2004-06-23 04:43 856//////////////整理InberGong10:22 ... -
WINDOWS 2000 环境下JAVA环境配置
2004-06-23 04:44 958//////////////整理InberGong10:22 ... -
Java 学习方法浅谈(http://www.javaeye.com站长Robbin著)
2004-07-01 02:51 685Java本身是一种设计的非 ... -
解决java中文问题的一些资源
2004-07-01 02:54 758解决java中文问题的一些资源 我收集了一些这方面的文章, 希 ... -
JAVA程序桥联数据库
2004-07-02 12:11 811/****************************** ...
相关推荐
免费JAVA毕业设计 2024成品源码+论文+数据库+启动教程 启动教程:https://www.bilibili.com/video/BV1SzbFe7EGZ 项目讲解视频:https://www.bilibili.com/video/BV1Tb421n72S 二次开发教程:https://www.bilibili.com/video/BV18i421i7Dx
,IGBT结温估算 模型见另一个发布
"S7-200 PLC驱动的智能粮仓系统:带解释的接线图与组态画面原理详解",S7-200 mcgs基于plc的自动智能粮仓系统 带解释的梯形图接线图原理图图纸,io分配,组态画面 ,S7-200; PLC; 自动智能粮仓系统; 梯形图接线图; 原理图图纸; IO分配; 组态画面,基于S7-200 PLC的智能粮仓系统设计与实现
手机编程-1738391379497.jpg
,rk3399pro,rk3568,车载方案设计,4路AHD-1080P摄像头输入,防撞识别,助力车泥头车安全运输
,CAD、DXF导图,自动进行位置路径规划,源码可进行简单功能添加实现设备所需功能,已经在冲孔机,点胶机上应用,性价比超高。 打孔机实测一分钟1400个孔
,电机控制资料-- 注:本驱动器适合于直流有感无刷电机 功能特点 支持电压9V~36V,额定输出电流5A 支持电位器、开关、0~3.3V模拟信号范围、0 3.3 5 24V逻辑电平、PWM 频率 脉冲信号、RS485多种输入信号 支持占空比调速(调压)、速度闭环控制(稳速)、电流控制(稳流)多种调速方式 支持按键控制正反转速度,启停 特色功能 1. 霍尔自学习 电机的三相线和三霍尔信号线可不按顺序连接,驱动器可自动对电机霍尔顺序进行学习。 2. 稳速控制响应时间短 稳速控制时电机由正转2000RPM切为反转2000RPM,用时约1.0s,电机切过程平稳 3. 极低速稳速控制 电机进行极低速稳速控制,电机稳速控制均匀,无忽快忽慢现象。
《HFSS同轴馈电矩形微带天线的模型制作与参数优化:从结果中学习,使用HFSS软件包进行实践的详细教程》,HFSS同轴馈电矩形微带天线 天线模型,附带结果,可改参数,HFSS软件包 (有教程,具体到每一步,可以自己做出来) ,HFSS; 同轴馈电; 矩形微带天线; 可改参数; HFSS软件包; 附带结果; 教程,HFSS软件包:可改参微带天线模型附带结果教程
"基于第二篇文章求解方法,改进粒子群算法在微电网综合能源优化调度的应用与复现代码展示——第一篇模型的参考与实践",基于改进粒子群算法微电网综合能源优化调度 求解方法主要参考第二篇文章 模型参照第一篇 复现代码 ,核心关键词: 基于改进粒子群算法; 微电网综合能源优化调度; 求解方法; 第二篇文章; 模型; 第一篇文章; 复现代码;,基于第二篇求解方法的改进粒子群算法在微电网综合能源优化调度中的应用研究
基于Comsol模拟的三层顶板随机裂隙浆液扩散模型:考虑重力影响的瞬态扩散规律分析,Comsol模拟,考虑三层顶板包含随机裂隙的浆液扩散模型,考虑浆液重力的影响,模型采用的DFN插件建立随机裂隙,采用达西定律模块中的储水模型为控制方程,分析不同注浆压力条件下的浆液扩散规律,建立瞬态模型 ,Comsol模拟; 随机裂隙浆液扩散模型; 浆液重力影响; DFN插件; 达西定律模块储水模型; 注浆压力条件; 浆液扩散规律; 瞬态模型,Comsol浆液扩散模型:随机裂隙下考虑重力的瞬态扩散分析
"基于S7-200 PLC与MCGS组态的五层电梯控制系统设计与实现:带详细接线图、IO分配及组态画面解析",S7-200 PLC和MCGS组态5层电梯五层电梯PLC控制系统 带解释的梯形图接线图原理图图纸,io分配,组态画面 ,核心关键词:S7-200 PLC; MCGS组态; 五层电梯; PLC控制系统; 梯形图接线图; IO分配; 组态画面。,S7-200 PLC与MCGS组态五层电梯控制系统原理图及梯形图解析
一、项目简介 本项目是一套基于springBoot+mybatis+maven+vue夕阳红公寓管理系统 包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试,eclipse或者idea 确保可以运行! 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值 二、技术实现 jdk版本:1.8 及以上 ide工具:IDEA或者eclipse 数据库: mysql5.5及以上 后端:spring+springboot+mybatis+maven+mysql 前端: vue , css,js , elementui 三、系统功能 1、系统角色主要包括:管理员、用户 2、系统功能 主要功能包括: 用户登录注册 首页 个人中心 修改密码 个人信息 访客管理 公告信息管理 缴费管理 维修管理 行程轨迹管理 单页号类型管理 公告类型管理 维修类型管理 租客管理 轮播图管理 余额充值等功能 详见 https://flypeppa.blog.csdn.net/article/details/143117373
基于时空Transformer的端到端的视频注视目标检测.pdf
Online Retail.xlsx
,C#地磅称重无人值守管理软件。 软件实现功能: 1、身份证信息读取。 2、人证识别。 3、车牌识别(臻识摄像头、海康摄像头)。 4、LED显示屏文字输出。 5、称重仪数据。 6、二维码扫码。 7、语音播报。 8、红外对射功能。 9、道闸控制。
com.deepseek.chat.apk
基于pyqt5+OpenPose的太极拳姿态识别系统可视化界面python源码+数据集.zip,个人大三大作业设计项目、经导师指导并认可通过的高分设计项目,评审分99分,代码完整确保可以运行,小白也可以亲自搞定,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,也可作为课程设计、期末大作业。 该压缩包是一个基于PyQt5和OpenPose技术的太极拳姿态识别系统的源代码和相关资源集合。系统能够实现对太极拳动作的实时姿态识别,并通过可视化界面展示出来,为学习和教学太极拳提供便利。 二、技术栈与组件 PyQt5:一个Python绑定的Qt库,用于创建图形用户界面(GUI)应用程序。它提供了丰富的组件和工具,可以方便地构建各种复杂界面,如按钮、文本框、图像视图等,同时也支持事件驱动编程,使得用户交互更加灵活。 OpenPose:一个来自卡内基梅隆大学(CMU)的开源库,主要用于人体、面部、手部以及脚部的关键点检测。它采用了深度学习的方法,能够在单张图片上实时估计多人的关节位置,对于运动分析、姿态识别等领域非常有用。
1、文件内容:pygtk2-devel-2.24.0-9.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/pygtk2-devel-2.24.0-9.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装
"金纳米超表面模型:几何相位控制下的涡旋光生成与FDTD仿真研究",几何相位 金属超表面模型 涡旋光生成 FDTD仿真 复现lunwen:2012年Nano Letters:Dispersionless Phase Discontinuities for Controlling Light Propagation lunwen介绍:金纳米结构超表面模型,金属材料矩形结构,通过旋转角度执行几何相位,构建异常折反射超表面模型,通过涡旋相位匹配几何相位,构建生产轨道角动量的涡旋光场超表面; 案例内容:主要包括金纳米柱的单元结构仿真、几何相位计算,涡旋光的螺旋相位计算代码,以及异常折反射的超表面模型和轨道角动量光束生成的超表面模型; 案例包括fdtd模型、fdtd建模脚本、Matlab相位计算代码和电场复现结果,以及一份word教程,异常折反射和涡旋光相位的构建代码可用于任意波段,具备可拓展性。 ,核心关键词: 1. 几何相位 2. 金属超表面模型 3. 涡旋光生成 4. FDTD仿真 5. 复现论文 6. 金纳米结构 7. 异常折反射超表面模型 8. 轨道角动量光束 9. 单元结构仿
comso三维声表面波诱导液滴行为研究:液滴拉伸断裂过程的可视化及分析,包含液滴最高坐标、底面接触面积、空气接触面积与能量项研究。,comso三维声表面波作用液滴,液滴拉伸断裂形成液滴,结果图包含液滴最高坐标,液滴与底面接触面积,与空气接触面积,以及能量项 ,关键词:comso三维声表面波;液滴拉伸断裂;最高坐标;接触面积(底面/空气);能量项;结果图。,声波作用下液滴断裂,图示液滴信息及能量项分析