【Java】【web】獲取訪問項目路徑

  • 獲取訪問根地址
String baseUrl = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + request.getContextPath() + "/";
  • 獲取訪問項目跟目錄
String basePath = request.getServletContext().getRealPath("/");
  • 獲取當前class文件目錄
String currentClassPath = Thread.currentThread().getContextClassLoader().getResource("").getPath();
  • 獲取當前訪問腳本目錄
String currentFilePath = request.getServletPath();
// 或使用
String currentFilePath = request.getRequestURI();
  • 獲取當前訪問全地址
String currentRequestUrl = request.getRequestURL();
  • base標簽
    在base標簽中的url屬性值會當前頁面中所有的url前面插入
    • index.jsp
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <%String baseUrl = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + request.getContextPath() + "/";%>
    <html>
    <head>
        <base href="<%=baseUrl%>">
        <title>JDemo</title>
        <script src="/resource/ui/js/jquery-1.11.0.min.js"></script>
    </head>
    <body>
    <h1>JDemo</h1>
    <a href="javascript:">ajax測試</a>
    </body>
    <script>
        $.ajax({
            url: "index",
            type: "post",
            data: {name: "張三", age: "23", url: "<%=baseUrl%>index"},
            success: function (Res) {
                console.log(Res);
            }
        });
    </script>
    </html>
    
    • IndexServlet.java
    package com.demo;
    
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.util.Map;
    
    @WebServlet(name = "IndexServlet")
    public class IndexServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");
        response.setContentType("text/html; charset=utf-8");
        PrintWriter out = response.getWriter();
    
        Map<String, String[]> parameterMap = request.getParameterMap();
        for (Map.Entry<String, String[]> m :
                parameterMap.entrySet()) {
            String name = m.getKey();
            String[] values = m.getValue();
            for (String value :
                    values) {
                System.out.print(name + ":" + value);
            }
            System.out.println();
        }
        out.print("ok");
    }
    
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");
        response.setContentType("text/html; charset=utf-8");
        PrintWriter out = response.getWriter();
    
        request.getRequestDispatcher("/index.jsp").forward(request, response);
    }
    }
    
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 一套完整的登陸注冊業務邏輯 準備部分基礎工具類Basepackage com.jericho.tools;impo...
    JerichoPH閱讀 2,480評論 0 9
  • 本文包括:1、Filter簡介2、Filter是如何實現攔截的?3、Filter開發入門4、Filter的生命周期...
    廖少少閱讀 7,352評論 3 56
  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,767評論 18 399
  • 本文包括:1、Listener簡介2、Servlet監聽器3、監聽三個域對象創建和銷毀的事件監聽器4、監聽三個域對...
    廖少少閱讀 6,128評論 6 28
  • 本文包括:1、什么是自動登錄?2、簡書自動登錄流程3、實現自動登錄4、用戶注銷 1、什么是自動登錄? 就拿簡書做例...
    廖少少閱讀 6,129評論 1 27