如何訪問WEB-INF資料夾下的jsp檔案
我們都知道不能直接訪問WEB-INF資料夾下的jsp檔案,那應該怎樣訪問呢? 首先,WEB-INF目錄是Java WEB應用的安全目錄,客戶端無法訪問,只有服務端可以訪問。 然後,為什麼要這麼設計,這樣做的初衷是在WEB-INF資料夾下放一些不希望通過瀏覽器訪問的東西,常常是一些配置檔案,比如web.xml檔案就在該目錄下。 那如果把jsp頁面放在了WEB-INF目錄下,應該怎麼訪問呢? 比如我現在做的一個小練習是: Spring+Spring MVC+Hibernate 實現使用者登入,登入成功返回所有使用者資訊的列表,如果登入不成功繼續登入。其中登入成功的條件是使用者名稱和密碼都在該使用者表裡面。 該小練習只涉及一個User實體類,兩張jsp頁面。 ①login.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" >
<title>Insert title here</title>
</head>
<body>
<div style="margin-top:82px;text-align: center;">歡迎進入登入介面</div><hr></br></br>
<div style="text-align: center;">
<form action="/SHDemo/user/login" method ="post">
username:<input type="text" name="username" /></br></br>
password:<input type="password" name="password" /></br>
<input type="submit" value="login" />
</form>
</div>
</body>
</html>
②list.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>List User</title>
</head>
<style type="text/css">
td{text-align: center;}
</style>
<body>
<div style="margin-top:82px;text-align: center;">使用者列表</div><hr></br></br>
<center>
<table border="1" width="450">
<tr>
<td>序號</td>
<td>姓名</td>
</tr>
<c:forEach var="user" items="${users }">
<tr>
<td>${user.id }</td>
<td>${user.username }</td>
</tr>
</c:forEach>
</table>
</center>
</body>
</html>
訪問流程:
①在瀏覽器輸入:http://http://localhost:8080/SHDemo
進入登入頁面login.jsp
這是因為在web.xml裡面設定了
/WEB-INF/page/login.jsp
②登入成功,就返回list.jsp,這是通過Spring的檢視解析器實現的
<bean id="viewResolver"class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass"value="org.springframework.web.servlet.view.JstlView"></property>
<property name="prefix" value="/WEB-INF/page/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
最後,如果要在jsp頁面訪問WEB-INF下面的jsp檔案,可以通過轉發,即:
request.getRequestDispatcher(“/WEB-INF/page/login.jsp”).forward(request,response);
相關推薦
如何訪問WEB-INF資料夾下的jsp檔案
我們都知道不能直接訪問WEB-INF資料夾下的jsp檔案,那應該怎樣訪問呢? 首先,WEB-INF目錄是Java WEB應用的安全目錄,客戶端無法訪問,只有服務端可以訪問。 然後,為什麼要這麼設計,這樣做的初衷是在WEB-INF資料夾下放一些不希望通過瀏覽器訪問
web-inf資料夾下的外聯css樣式路徑問題
今天練習web專案時就把以前放在webContent資料夾下的jsp放到了web-INF資料夾下(注:web-INF資料夾裡的內容不能被瀏覽器直接訪問),這時,我產生了這樣的問題:如果我在Login.jsp裡用到my.css樣式,我該怎麼寫?是hre
Myeclipse中WEB-INF和META-INF資料夾的各檔案含義
WEB-INF /WEB-INF/web.xml 你的Web應用程式配置檔案,這是一個XML檔案,其中描述了 servlet 和其他的應用元件配置及命名規則;/WEB- INF/classes/這個目錄包含了站點所有用的 class 檔案,包括 servlet
Android Studio SD卡訪問許可權及asserts資料夾下的檔案操作
Android Studio SD卡訪問許可權 1、在 AndroidManifext.xml 中新增如下程式碼 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /&
在Myeclipse部署Tomcat時只有WEB-INF資料夾,無頁面的及其他檔案
小編我,作為小白查了好多都沒解決~~~經高手點播終於解決了。在建立maven的web專案時為了儲存web專案的結構,小編偷懶先建立web專案,將建立好的maven專案的.project的<natures>標籤下替換到新的檔案下,在建自己需要的專案。<natu
AHK 遍歷資料夾下ahk檔案並執行與刪除
folder = D:\ver_upload\new Loop, %folder%\*.ahk FileList = %FileList%%A_LoopFileTimeModified%`t%A_LoopFileName%`n Sort, FileList ;根據日期排序.從小到大 Loo
批量修改資料夾下所有檔案的名稱
所需工具:cmd、excel、記事本 一、利用cmd將資料夾下的內容全部輸出 假設要匯出的內容在E:/graduate/pic下,輸入: e: cd graduate cd pic dir > name.txt 將其中所有檔案的名字都存入name.txt中,建立的資料夾在路徑之下。
python 獲取指定資料夾下所以檔案
reportPath =資料夾路徑 listdir=以一個list返回資料夾下所以檔案 dirs = os.listdir(reportPath)print(dirs) def __get_report(self): """獲取最新測試報告""" dirs = os.listdir(repo
清除當前資料夾下.svn檔案的方法
原文地址 @echo on color 2f mode con: cols=80 lines=25 @REM @echo 正在清理SVN檔案,請稍候...... @rem 迴圈刪除當前目錄及子目錄下所有的SVN檔案 @rem for /r . %%
Linux command: 統計資料夾下的檔案數目
Linux下有三個命令:ls、grep、wc。通過這三個命令的組合可以統計目錄下檔案及資料夾的個數。 統計當前目錄下檔案的個數(不包括目 1 $ ls -l | grep "^-" | wc -l
python 遍歷,刪除,複製資料夾下所有檔案
import os def files_and_dirs_list(dir_path): """ 遍歷資料夾及資料夾下所有檔案(包括資料夾) :param dir_path: 資料夾路徑 :return: root 所指的是當前正在遍歷的這個資料
OpenCV實現遍歷資料夾下所有檔案
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
linux 命令替換資料夾下所有檔案指定字串為
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
Spring定時任務註解實現定時清空指定資料夾下的檔案
@EnableScheduling和@Scheduled(cron = "0 0 4 * * ?"),通過註解方式實現定時任務: 1 import org.slf4j.Logger; 2 import org.slf4j.LoggerFactory; 3 import org.springfra
Java遞迴刪除指定資料夾下所有檔案
Java遞迴刪除指定資料夾下所有檔案 工具類封裝 public class FileUtils{ public static boolean delAllFile(String path) { return delAllFile(new File(path)
ndk讀取資料夾下的檔案列表
char *dir_path = "/mnt"; DIR *dir = opendir(dir_path); if (dir == NULL) { LOGD("open dir error!"); return -1; }
linux迴圈遍歷資料夾下所有檔案
demofun(){ for file in `ls $1` do if test -f $file then echo "file: $file" elif test -d $file then
C#中遍歷指定資料夾下的檔案或子檔案
今天用到查詢給定路徑下的所有檔案,記錄一下: 1、引入IO名稱空間 using System.IO; 2、用到的主要方法: DirectoryInfo folder = new DirectoryInfo(filePath); DirectoryInfo.GetFiles():獲取目錄中所有
遞迴遍歷資料夾下所有檔案
遞迴遍歷資料夾下所有檔案 程式碼塊 遞迴遍歷資料夾下所有檔案 package com.chow; import java.io.File; import java.util.ArrayList; /** * Created by zhouhaiming on 20
遍歷資料夾下所有檔案的路徑
import os def traverse(f): fs = os.listdir(f) for f1 in fs: tmp_path = os.path.join(f, f1) if not os.path.isdir(tmp_path):