• 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>
  • 相关阅读:
    Flume
    nodejs中npm工具自身升级
    Nodejs v4.x.0API文档学习(1)简介
    nodejs设置NODE_ENV环境变量(1)
    nodejs使用express4框架默认app.js配置说明
    mongodb2.X添加权限
    javascript中new Date浏览器兼容性处理
    Android Studio中文组(中文社区)
    Javascript日期处理类库Moment.js
    android 按两次返回键退出应用
  • 原文地址:https://www.cnblogs.com/Westfalen/p/5972416.html
Copyright © 2020-2023  润新知