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

  • 相关阅读:
    MySql(六)单表查询
    MySql(五)
    MySql(四)
    MySql(三)
    MySql(二)
    2016高管必看的五大互联网营销方法
    昨日股市暴跌熔断 赵薇亏3.3亿赔惨了(如何预测今年股市走向)
    何炅加入阿里音乐预示“互联网+”三大发展走向
    《老炮儿》的江湖道义就是互联网创业的规矩?
    世界互联网大会三大看点 传递什么信号?
  • 原文地址:https://www.cnblogs.com/kanyun/p/8296830.html
Copyright © 2011-2022 走看看