java(j2ee)应用-简单自定义标签开发全过程----之一(Inber)

标签应用:
数据源
MyDataSource2
用户sa
密码(空)
数据库pubs 表:employee

说明:windows ODBC ---SQL  数据库pubs 表:employee

功能:检索job_lvl>=100的数据记录,在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;
    
  
  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>=100";
      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文件EmployeeTag.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>EmployeeTag</name>
 <tag-class>net.inber.EmployeeTag</tag-class>
 <body-content>jsp</body-content>
 </tag>
 
</taglib>
3. JSP页面调用index.jsp
<%@ taglib uri="/EmployeeTag" prefix="a" %>
<%@ 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>
<p>以下的内容从库pubs检索表employee中job_lvl大于等于100的记录显示:</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>
<a:EmployeeTag/>
aaa
</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>
 <taglib-uri>/EmployeeTag</taglib-uri>
 <taglib-location>/WEB-INF/tlds/EmployeeTag.tld</taglib-location>
</taglib>


<!-- JSPC servlet mappings end -->

</web-app>

好了,下面的最后一步你应该自已动手试试了,如有问题可以和我联系。
 

java实现sftp操作工具类 1分让你得到sftp常用操作工具,工具实现如下操作: 1)得到当前工作目录地址 2)改变目录为配置的远程目录 3)取文件目录列表 4)取文件列表 5)下载文件 6)复制文件 7)删除文件 8)目录是否存在,文件是否存在 9)移动文件 10)可以基于chnSftp对象进行开发 依赖类包在我的sftp包下载下提供 版权声明:本工具类为个人兴趣基于chnSftp编写的应用,个人版权在先,后因各个办公环境无相关软件也有相关的个人使用,和办公环境内的推广使用,也欢迎互联网使用,如涉及相关环境认为本应用有不妥之处,请删除本人的工具软件。欢迎互联网使用和反馈。 立即下载

相关推荐

简单标签的开发

简单标签的开发 和 详细的代码说明

使用简单标签进行开发

简单标签执行的流程图     l  控制标签体的执行   1.标签处理器类 package com.jstl.simple.tag; import java.io.IOException; import javax.servlet.jsp.JspException; import javax.servlet.jsp.tagext.JspFragment; import ja

vaecherisher的专栏 883

Vue3 视频播放器完整指南 – @videojs-player/vue 从入门到精通

全面解析 Vue3 生态中最强大的视频播放解决方案 @videojs-player/vue。从基础安装到高级功能,涵盖自动播放、直播流、字幕支持等核心特性。提供完整的代码示例和最佳实践,助你快速构建专业的视频播放应用。

前端开发-前端技术分享 1422

JSP2自定义标签(一)——简单标签

本文摘自:李刚 著 《轻量级 Java EE企业应用实战 Struts2+Spring+hibernate整合开发》             在JSP规范的1.1版中增加自定义标签库规范,自定义标签库是一种非常优秀的表现层组件技术。通过使用自定义标签库,可以在简单的标签中封

虽然我很菜 1499

[亚信线上教学] AX58100: EtherCAT从站设备仿真功能设计教学

什么情况需要开启EtherCAT从站设备仿真功能呢? 一般来说, 当EtherCAT从站产品,不需要使用额外的微控制器介入,或使用不具备EtherCAT从站通讯协议栈的微控制器一同协作的情况下,就必须开启EtherCAT从站设备仿真功能,这样EtherCAT主站才能够正常设置从站设备的工作状态. 亚信AX58100 EtherCAT从站控制芯片的优点 AX58100 EtherCAT从站控制器, 集成2个百兆以太网Phis, 并支持一些额外的控制接口, 例如脉冲宽度调变, 增量, 霍尔编码器, .

allanchou1的专栏 7422

Android keymint(keymaster)一RKP

Android RKP

weixin_47139576的博客 1万+

JavaWeb实战开发

本课程详细讲解了以下内容:    1.jsp环境搭建及入门、虚拟路径和虚拟主机、JSP执行流程    2.使用Eclipse快速开发JSP、编码问题、JSP页面元素以及request对象、使用request对象实现注册示例    3.请求方式的编码问题、response、请求转发和重定向、cookie、session执行机制、session共享问题     4.session与cookie问题及application、cookie补充说明及四种范围对象作用域     5.JDBC原理及使用Statement访问数据库、使用JDBC切换数据库以及PreparedStatement的使用、Statement与PreparedStatement的区别     6.JDBC调用存储过程和存储函数、JDBC处理大文本CLOB及二进制BLOB类型数据     7.JSP访问数据库、JavaBean(封装数据和封装业务逻辑)     8.MVC模式与Servlet执行流程、Servlet25与Servlet30的使用、ServletAPI详解与源码分析     9.MVC案例、三层架构详解、乱码问题以及三层代码流程解析、完善Service和Dao、完善View、优化用户体验、优化三层(加入接口和DBUtil)    1 0.Web调试及bug修复、分页SQL(Oracle、MySQL、SQLSERVER)     11.分页业务逻辑层和数据访问层Service、Dao、分页表示层Jsp、Servlet     12.文件上传及注意问题、控制文件上传类型和大小、下载、各浏览器下载乱码问题     13.EL表达式语法、点操作符和中括号操作符、EL运算、隐式对象、JSTL基础及set、out、remove     14.过滤器、过滤器通配符、过滤器链、监听器     15.session绑定解绑、钝化活化     16.以及Ajax的各种应用     17. Idea环境下的Java Web开发

大模型微调部署实战及类GPT工具的高效使用

本文主要介绍了专栏《大模型微调部署实战及类GPT工具的高效使用》的核心内容,希望对使用大语言模型的同学们有所帮助。 文章目录 1. 前言 2. 专栏亮点 3. 你的收获 4. 详细目录

herosunly的博客 22万+

java(j2ee)应用-简单自定义标签开发全过程----之一(Inber)——JAVA夜未眠

标签应用:数据源MyDataSource2用户sa密码(空)数据库pubs 表:employee 说明:windows ODBC ---SQL  数据库pubs 表:employee 功能:检索job_lvl>=100的数据记录,在JSP页面中任意想调用的地方调用它。1:标签处理程序:EmployeeTag.javapackage net.inber;import java

为理想而奋斗 1029

组态王与DLT645-2007电能表通讯调试总结

组态王与电力协议DLT 645-2007调试总结 DLT 645-2007是多功能电能表通信协议,该标准由中国电力企业联合会2006年提出,该协议为主-从结构的半双工通信方式。手持单元或其它数据终端为主站,多功能电能表为从站。每个多功能电能表均有各自的地址编码。通信链路的建立与解除均由主站发出的信息帧来控制。帧是传送信息的基本单元,每帧由帧起始符、从站地址域、控制码、数据域长度、数据域、帧信息纵向校验码及帧结束符7个域组成,每部分由若干字节组成,帧格式如图1所示。 1.确定设备地址 地址域由 6 个字节构

逍遥子的博客 1万+

手把手教你学Simulink——基于Simulink的机械臂正运动学仿真建模示例

机械臂正运动学概述正运动学的核心在于根据每个关节的角度值,通过坐标变换(如DH参数法或齐次变换矩阵)计算出末端执行器相对于基座的位置和姿态。常用的数学工具包括旋转矩阵、平移向量以及它们组合而成的齐次变换矩阵。仿真目标设计并实现一个机械臂正运动学模型。输入关节角度,输出末端执行器的位置和姿态。分析不同关节角度下的机械臂位置变化。假设我们有一个简单的3自由度(DOF)平面机械臂,其各关节的长度分别为l1l1​、l2l2​和l3l3​。在Simulink中,可以使用。

MHD0815的博客 359

带属性标签开发全过程----j2ee小应用之二(Inber)

 带属性标签开发全过程----j2ee小应用之二(Inber) 标签应用:数据源MyDataSource2用户sa密码(空)数据库pubs 表:employee 说明:windows ODBC ---SQL  数据库pubs 表:employee 功能:检索 job_lvl>=(输入值)and job_lvl调用它。(1)标签处理程序:EmployeeTag.javapacka

Inber 2167

从原理到实战:深入解析 Synopsys VCS 仿真快照技术,提升验证效率

VCS Checkpoint 技术摘要 VCS Checkpoint 是 Synopsys VCS 提供的仿真状态快照功能,可将完整的仿真状态(寄存器、存储器、时钟、随机种子等)序列化保存。主要应用场景包括:跳过耗时初始化阶段、覆盖率驱动验证、Debug复现和UVM分阶段验证。核心原理是对仿真内核状态的完整序列化,需注意文件句柄等特殊对象需手动处理。 使用方式: 编译时添加 -checkpoint 选项 运行时通过 $save 系统任务或 +checkpoint 参数保存状态 通过 +restore 参数恢

元直的博客 248

如何从Maven下载J2EE API(javaee.jar)

java.net下的javaee.jar解决方案仅包含J2ee API,不包含任何方法主体。 编译是很好的选择,但不适用于运行或部署您的应用程序,因为它会导致“ 类中不是本机或抽象类的方法中的 “ 缺少代码”属性 ”或其他未找到的错误。 根据政策,不可能在任何公共Maven存储库中包含此javaee.jar 。 最佳做法是始终从http://www.oracle.com/technetwork...

一名可爱的技术搬运工 788

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Java jsp 自定义标签

1 自定义标签 1.1 引入 需求: 向浏览器输出当前客户的IP地址 (只能使用jsp标签)   1.2 第一个自定义标签开发步骤 1)编写一个普通的java类,继承SimpleTagSupport类,叫标签处理器类   /**  * 标签处理器类  * @author APPle  * 1)继承SimpleTagSupport  *  */ public class ShowIpTag

github_39294367的博客 1万+

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

J2EE自定义标签2

自定义标签开发步骤 1.1 助手类 1.2 tld 1.3 taglib UI标签 z:select //比较麻烦的 数据标签 z:set tid文件 <?xml version="1.0" encoding="UTF-8" ?> <taglib xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="h.

qq_45506409的博客 184

Java中的JavaEE与JavaEE

1.背景介绍 Java中的JavaEE与JavaEE 1. 背景介绍 JavaEE是Java平台的一种企业级应用开发框架,它提供了一系列的API和工具来帮助开发人员快速构建高性能、可扩展的企业级应用程序。JavaEE包含了许多标准的Java技术,如Java Servlet、JavaServer Pages(JSP)、JavaBean、Java Messaging Service(JMS)、J...

AI天才研究院 1740

自定义一个简单的j2ee标签库

J2EE中的标签库给了我们很大的便利,它属于J2ee中的组件,标签库一般是结合EL表达式使用,今天我自己定义了一个标签库,自然是参考里面的来写的,通过导入的.jar包里看结构可以看出: 标签库就是java类和这些比如“c.tld”构成的, 可以看出它其实就是XML文件,仔细看,发现我们用的 就是在这里面的tag定义的,相应的类也在相应的java包里。 就是说,我们自己定义的

u010214269的专栏 700

[转载]使用Eclipse开发J2EE应用

使用Eclipse开发J2EE应用本文中作者向大家介绍了如何通过使用eclipse 和可用于eclipse的插件Lomboz进行j2ee应用的开发。 Eclipse是一个非常优 秀的集成开发环境,这个在I...

congji3817的博客 410

J2EE 应用程序

A:link,A:visited {text-decoration:none;color:#0000FF;}A:hover {color: #ff6666; text-decoration: none} J2EE 应用程序 作者:不详J

y_o_n_g的专栏 812

自定义标签库的开发——传统标签tag、IterationTag接口(TagSupport),简单标签,转义标签,打包标签,java打为exe

1、自定义标签简介(web层) (1)、自定义标签主要用于移除Jsp页面中的java代码。 (2)、使用自定义标签移除jsp页面中的java代码,只需要完成以下两个步骤: 编写一个实现Tag接口的Java类(标签处理器类)。编写标签库描述符(tld)文件,在tld文件中对标签处理器类进行描述。 快速入门:使用标签输出客户机IP。 A、编写一个实现tag接口的标签处理器类 pub

danny1991的博客 2542

J2EE之自定义标签库的使用01(详情解答)

JSP自定义标签是一种自定义的JSP标签,它允许开发人员将Java代码片段封装成一个可复用的标签,从而在JSP页面上实现更复杂的逻辑和功能。JSP页面中的自定义标签可以和HTML标签或其他JavaServer Pages (JSP) 标签混合使用。标签类实例空标签例如:br、hrui标签例如:input、table控制标签例如:if、foreach数据标签例如:out标签创建Java包:在Servlet容器的 /WEB-INF/classes 目录中创建一个Java包。

weixin_74352229的博客 194

java 自定义标签_Java ---自定义标签

本篇文章介绍自定义标签,可能在工作中很少涉及到自己来定义一个标签库,因为我们基本上都是使用的大神写的标签库,基本上直接使用即可,但是从自身的发展来看,通往高级程序员的道路上,开发框架就需要大量的使用到标签库技术。本文将从以下几个方面介绍自定义标签库的基本知识点:背景以及作用开发简单的标签开发带属性的标签开发带标签体的标签以页面片段为属性的标签具有动态属性的标签一、标签库有什么作用自定义标签库是一种...

weixin_32540247的博客 695
上一篇: 保护Applet免遭"窃取"的小技巧( 来源:hanic)
下一篇: 带属性标签开发全过程----j2ee小应用之二(Inber)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值