zoukankan      html  css  js  c++  java
  • 在Jsp中调用静态资源,路径配置问题,jsp获取路径的一些方法

    在Jsp中调用图片、JS脚本等,针对取得的路径有两种调用方式:

    1、放入Body中生成绝对路径(不建议)

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <%
        String path = request.getContextPath();
        String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
        <title>image调用</title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">   
    </head>
    <body>
        <h1>图片访问</h1>
        <div>         
            <img alt="图片" src="<%=basePath%>/image/a.png">
        </div>
    </body>
    </html>

    2、在Head中指定,Body中使用相对路径(建议)

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <%
        String path = request.getContextPath();
        String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
        <title>image调用</title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">    
        <!-- base需要放到head中 -->    
        <base href=" <%=basePath%>">   
    </head>
    <body>
        <h1>图片访问</h1>
        <div>      
            <img alt="图片" src="image/a.png">
        </div>
    </body>
    </html>

    转载自:https://www.cnblogs.com/maocs/p/4256302.html

    getRequestURI,getRequestURL的区别

    test1.jsp=======================

    <a href ="test.jsp?p=fuck">跳转到test2</a>

    test2.jsp=======================

    <%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

    out.println("basePath:"+basePath);
    out.println("<br/>");
    out.println("getContextPath:"+request.getContextPath());
    out.println("<br/>");
    out.println("getServletPath:"+request.getServletPath());
    out.println("<br/>");
    out.println("getRequestURI:"+request.getRequestURI());
    out.println("<br/>");
    out.println("getRequestURL:"+request.getRequestURL());
    out.println("<br/>");
    out.println("getRealPath:"+request.getRealPath("/"));
    out.println("<br/>");
    out.println("getServletContext().getRealPath:"+getServletContext().getRealPath("/"));
    out.println("<br/>");
    out.println("getQueryString:"+request.getQueryString());

    %>

    显示结果:

    basePath:http://localhost:8080/test/

    getContextPath:/test 
    getServletPath:/test.jsp 
    getRequestURI:/test/test.jsp 
    getRequestURL:http://localhost:8080/test/test.jsp 
    getRealPath:D:Tomcat 6.0webapps est 
    getServletContext().getRealPath:D:Tomcat 6.0webapps est 
    getQueryString:p=fuck

    在一些应用中,未登录用户请求了必须登录的资源时,提示用户登录,此时要记住用户访问的当前页面的URL,当他登录成功后根据记住的URL跳回用户最后访问的页面:

    String lastAccessUrl = request.getRequestURL() + "?" + request.getQueryString();

     以上转自:http://www.cnblogs.com/JemBai/archive/2010/11/10/1873764.html

  • 相关阅读:
    C# 数据处理——(包括但不限)浮点数设置小数点后位数 (转)
    c#下怎么判断一个字符串是否可以转换为double类型(转)
    C++ string字符串按分隔符分割成一个数组(转)
    C#浮点数保留位(转)
    linq与lambda写法对照(转)
    C# DataTable 和List之间相互转换的方法(转)
    c#写入Mysql中文显示乱码 解决方法(转)
    微博营销之企业微博运营方案实用篇
    “最美店主”走红网络,或成国内欧美第一店
    月饼西施PK愤怒的小鸟,这个中秋狂掀DIY风
  • 原文地址:https://www.cnblogs.com/kanyun/p/8296830.html
Copyright © 2011-2022 走看看