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 ... 
随机推荐
- CURL常用命令(转)
			下载单个文件,默认将输出打印到标准输出中(STDOUT)中 curl http://www.centos.org 通过-o/-O选项保存下载的文件到指定的文件中:-o:将文件保存为命令行中指定的文件名 ... 
- Android Platform Guide
			This guide shows how to set up your SDK environment to deploy Cordova apps for Android devices, and ... 
- sqlite数据库 adb 从配置到查询表中数据全过程-----献给初学的自己
			1. E:\Android\android-sdk-windows\platform-tools[将adb.exe文件的路径放到path中,设置环境变量] 2. adb -s emulator ... 
- mysql 操作日期函数【增加,减少时间】
			详情链接:http://www.runoob.com/sql/func-date-add.html 定义和用法 DATE_ADD() 函数向日期添加指定的时间间隔. DATE_ADD(date,INT ... 
- Android解决java.lang.OutOfMemoryError: bitmap size exceeds VM budget(转)
			昨天遇到这个问题就是从一个输入流里调用BitmapFactory.decodeStream(this.getContentResolver().openInputStream(uri))得到一个bit ... 
- string函数分析
			string函数分析string函数包含在string.c文件中,经常被C文件使用.1. strcpy函数原型: char* strcpy(char* str1,char* str2);函数功能: 把 ... 
- Unity3D 插件大全
			2D_Toolkit 2d动画开发插件包 FingerGestures 触摸插件 ORK_Okashi_RPG_Kit Unity3D角色扮演游戏开发工具包 uScript-Visual-Script ... 
- iOS SQLite 增删改查的封装(关系型)
			在工程里导入libsqlite3.tbd库(Xcode 7) #import <UIKit/UIKit.h> @interface AppDelegate : UIResponder &l ... 
- debug 使用lldb
			http://www.zddhub.com/memo/2015/12/20/lldb-golang-debug/ go build -gcflags "-N -l" -o test ... 
- OSPF理解
			from http://kingdee.blog.51cto.com/98119/27310STP,PIM,OSPF,长的好像(*_*)可以把整个网络(一个自治系统AS)看成一个王国,这个王国可以分成 ... 
