在Servlet中獲取Web路徑和真實(shí)路徑

UseServlet.java

@WebServlet("/user.do")
public class UseServlet extends HttpServlet{

    private static final long serialVersionUID = 1L;
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        //設(shè)置字符集格式為utf-8
        //req.setCharacterEncoding("UTF-8");
        String scheme=req.getScheme();//獲取請求協(xié)議http
        String serverName=req.getServerName();//獲取服務(wù)器名稱localhost
        int serverPort = req.getServerPort();
        String contextPath=req.getContextPath();//返回Web應(yīng)用的URL入口
        String path=scheme+"://"+serverName+":"+serverPort+"/"+contextPath+"/";
        //getRealPath返回一個(gè)給定虛擬路徑的真實(shí)路徑
        String realPath=this.getServletContext().getRealPath("index.jsp");
        req.setAttribute("path", path);
        req.setAttribute("realPath", realPath);
        
        req.getRequestDispatcher("index.jsp").forward(req, resp);
        
    }
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        doPost(req, resp);
    }
}

index.jsp

<form action="user.do" method="post">
        <table align="center">
            <tr>
                <td>Web路徑:</td>
                <td><%=(String)request.getAttribute("path") %></td>
            </tr>
            <tr>
                <td>真實(shí)路徑:</td>
                <td><%=(String)request.getAttribute("realPath") %></td>
            </tr>
            <tr>
                <td colspan="2" align="center">
                <input type="submit" value="獲取路徑"/>
                <input type="reset" value="重置"/>
                </td>
            </tr>
        </table>
    </form>
26.PNG
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容