javaWeb 在jsp中 使用自定义标签输出访问者IP
1.java类,使用简单标签,jsp2.0规范, 继承 SimpleTagSupport
public class ViewIpSimpleTag extends SimpleTagSupport {
@Override
public void doTag() throws JspException, IOException {
PageContext pageContext = (PageContext) this.getJspContext();
String ip = ((HttpServletRequest) pageContext.getRequest()).getRemoteAddr();
pageContext.getOut().write(ip);
}
}
1.java类,使用传统标签 jsp1.0, 继承 TagSupport(弃用)
/**
* jsp 自定义标签的步骤:
* 1.写一个类实现Tag接口(继承TagSupport类)
* 2.在WEB-INF文件夹中新建一个tld文件
* 3.在jsp 页面中导入taglib标签库,然后调用
*
*/
public class ViewIp extends TagSupport {
@Override
public int doStartTag() throws JspException {
try {
HttpServletRequest request = (HttpServletRequest) this.pageContext
.getRequest();
JspWriter out = this.pageContext.getOut();
String ip = request.getRemoteAddr();
out.print(ip);
} catch (IOException e) {
e.printStackTrace();
}
return super.doStartTag();
} }
2.tld文件(/webProjectName/WEB-INF/web.tld)
<?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="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
version="2.0">
<tlib-version>1.0</tlib-version>
<short-name>web</short-name>
<uri>www.bvb.de</uri> <tag>
<name>viewIp</name>
<tag-class>de.bvb.web.tag.ViewIpSimpleTag</tag-class>
<body-content>empty</body-content>
</tag> </taglib>
3.jsp页面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!-- 3.1导入标签库 prefix和文件名一致,uri和.tld文件夹中的uri一致,uri也可以写为 uri="/WEB-INF/web.tld" -->
<%@ taglib prefix="web" uri="www.bvb.de"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head> 你的ip是:
<!--3.2 使用自定义标签 -->
<web:viewIp /> 不使用自定义标签
<%
String ip = request.getRemoteAddr();
out.print(ip);
%> </head>
<body></body>
javaWeb 在jsp中 使用自定义标签输出访问者IP的更多相关文章
- JSP入门之自定义标签
第二部分简单讲解:主要讲解el表达式,核心标签库.本章主要讲解:自定义标签库:404页面,505页面,错误页面配置方法 全部代码下载:链接 1.JSP自定义标签: 自定义标签是用户定义的JSP语言元素 ...
- 在jsp页面中使用自定义标签
在某些场景中,自定义标签可封装大量代码,使页面变得更简洁,标签也可以很方便地在不同页面中实现通用而不必去粘贴大量的js代码.现在把最近做的一个自定义标签在这里总结一下.首先总结一下关于自定义标签的一些 ...
- 自定义JSP中的Taglib标签之四自定义标签中的Function函数
转自http://www.cnblogs.com/edwardlauxh/archive/2010/05/19/1918589.html 之前例子已经写好了,由于时间关系一直没有发布,这次带来的是关于 ...
- Liferay JSP中常用的标签
(本文转载自http://www.cnblogs.com/edwardlauxh/archive/2010/03/26/1918614.html) 在Liferay框架中拥有它自身的标签,虽然Port ...
- JavaWeb(十七)——JSP中的九个内置对象
一.JSP运行原理 每个JSP 页面在第一次被访问时,WEB容器都会把请求交给JSP引擎(即一个Java程序)去处理.JSP引擎先将JSP翻译成一个_jspServlet(实质上也是一个servlet ...
- [原创]java WEB学习笔记41:简单标签之带属性的自定义标签(输出指定文件,计算并输出两个数的最大值 demo)
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- JSP 2.x 自定义标签
JSP 1.x的标签,虽然使用起来非常灵活,但是比较复杂,JSP 2.x提供了一组简化的标签写法 SimpleTagSupport是SimpleTag接口的子类,同时支持参数和标签体,最核心的方法时d ...
- jsp中常用的标签
jsp本质上就是一个servlet,只是tomcat会将其翻译成servlet,servlet本质上是一个类,那么jsp也是一个类.jsp中各种标签都会被tomcat翻译成各种基本的java代码 如果 ...
- jsp中向浏览器页面输出的方式总结
jsp中百分号内输出 不需要有JavaScript标签 1.因为jsp就是包含在html 里面,所以什么都不干时,就是在body里面输出html内容 2.百分号 内是JavaScript代码?java ...
随机推荐
- Unofficial Windows Binaries for Python Extension Packages
http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy
- 01 viewport
<meta name="viewport" content="width=device-width,initial-scale=1.0">
- mina学习
长连接表示一旦建立了链接,就可以长时间的保持双方的通讯,例如: socket链接,推送平台. 短链接表示建立链接,完成数据的交换之后,就断开链接,例如: http链接. mina 框架是对socket ...
- JSP常用标签——JSTL标签和EL表达式
一.JSTL简介 1.什么是JSTL JSTL是Java中的一个定制标记库集.(这个标记库集不需要自己编写,可以直接使用) 2.为什么要使用JSTL 实现了JSP页面中的代码复用(基于标签库原理,重复 ...
- shell中如何判断某一命令是否存在
参考: http://www.cnblogs.com/tuzkee/p/3755230.html https://segmentfault.com/q/1010000000156870 http:// ...
- 在Matlab中编译c/c++代码需要安装mex
>> mex -setup Welcome to mex -setup. This utility will help you set up a default compiler. For ...
- 用仿ActionScript的语法来编写html5——第九篇,仿URLLoader读取文件
第九篇,仿URLLoader读取文件 先看看最后的代码 function readFile(){ urlloader = new LURLLoader(); urlloader.addEventLis ...
- javascript原生dom操作方法
一.节点层次属性 考虑空白符的相关层次关系属性: 1.childNodes属性 包含 2.parentNode属性 3.previouseSibling属性和nextSibling属性 4.first ...
- SVN提交.a文件的方法
选择菜单View-->Ignored Files,这样就会显示出ignored的文件,找到你要上传的.a文件,右键“Add”就可以了.
- python ftplib,smtplib,poplib学习
一.ftplib from ftplib import FTP ftpobj = FTP(IP或域名) #实例化对象 ftpobj.login('username','passwd') ## ...