導航:首頁 > 凈水問答 > jsp過濾errcode

jsp過濾errcode

發布時間:2024-03-27 14:03:12

1. jsp防止直接通過url訪問沒有許可權的頁面

jsp防止直接通過url訪問是通過過濾器實現的。
過濾器內容:
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse resp = (HttpServletResponse) response;
String conString = "";
conString = req.getHeader("REFERER");//獲取父url--如果不是直接輸入的話就是先前的訪問過來的頁面,要是用戶輸入了,這個父url是不存在的
if("".equals(conString) || null==conString){ //判斷如空森果上一個目錄為空斗兆畝的話,說明是用戶直接輸入url訪問的
String servletPath = req.getServletPath();//當前請求url,去掉幾個可以直接訪問的頁面
if(servletPath.contains("index.jsp") || servletPath.contains("admin/login.jsp")){ //跳過index.jsp和登陸Login.jsp
chain.doFilter(request, response);
} else {
resp.sendRedirect("/ejuornal/index.jsp");//跳回首頁
}
} else {
chain.doFilter(request, response);
}
}
過濾器配置:
<猜姿?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
<display-name></display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<filter>
<filter-name>FilterPages</filter-name>
<filter-class>com.ejuornal.filter.FilterPages</filter-class>
</filter>
<filter-mapping>
<filter-name>FilterPages</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
</web-app>

2. jsp的驗證碼怎麼讓過濾器不過濾

將驗證碼部分做成一個servlet服務或者action服務,然後再過濾器里對路徑進行識別,發現是驗證碼服務時不處理。

3. jsp中過濾器可以攔截請求和響應嗎

過濾器可以動態地攔截請求和響應,以變換或使用包含在請求或響應中的信息。

4. JSP中用filter 過濾某個包中的所有servlet

web.xml中這樣配置:

<servlet>

<servlet-name>Login</servlet-name>

<servlet-class>com.zq.servlet.Login</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>Login</servlet-name>

<url-pattern>/servlet/Login</url-pattern>

</servlet-mapping>

或者不配置web.xml在servlet中寫註解:

@WebServlet("/servlet/Login")

配置fliter可以在web.xml中這樣寫:

<filter>

<filter-name>LoginFilter</filter-name>

<filter-class>com.zy.filter.UserLoginFilter</filter-class>

</filter>

<filter-mapping>

<filter-name>LoginFilter</filter-name>

<url-pattern>/servlet/*</url-pattern>

</filter-mapping>

或者不配置web.xml在filter中寫註解:

@WebFilter(filterName="/MyFilter",urlPatterns="/servlet/*")

即在所有想過濾的servlet名字前加上「/setvlet」在過濾的時候過濾路徑就可以寫成「/servlet/*」這樣就能過濾所有的Servlet。

5. jsp中為什麼加上了過濾器就報錯 (HTTP Status 404)

路徑配置錯誤

6. 在JSP頁面提交表單,以post方式提交,寫了過濾器處理中文亂碼問題

可能造成的原因:

  1. 頁面 後台業務 數據 中間有一個環節編碼不一致。

  2. 是否對該欄位做了編碼轉換。


針對1:

檢查頁面編碼 是什麼編碼。如:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" %>

過濾器設置的是什麼編碼。資料庫採用什麼編碼。然後最好統一編碼。


針對2:

看看是否做了強制轉換,或者設置了request response的編碼。

7. jfinal如何過濾對JSP/html的請求

jfinal對jsp或者html過濾的請求配置:
public class PermissionHandler extends Handler {

@Override
public void handle(String target, HttpServletRequest request,
HttpServletResponse response, boolean[] isHandled) {
int indexJsp= target.lastIndexOf(".jsp");
int indexHtml = target.lastIndexOf(".html");
if (indexJsp!= -1 || indexHtml!= -1) {
System.out.println(target);
if (request.getSession().getAttribute(Const.LOGINUSER) == null) {
System.out.println("沒有登陸!跳轉到.html");
target = "/login.html";
} else {
System.out.println("登陸了,放行!");
}
}
nextHandler.handle(target, request, response, isHandled);
}

閱讀全文

與jsp過濾errcode相關的資料

熱點內容
米家怎麼查看周邊凈水器 瀏覽:843
李采潭多少部作品 瀏覽:780
污水管資料全套 瀏覽:290
塘沽有樹脂腰線廠嗎 瀏覽:975
日本劇情片大全免費看的 瀏覽:666
老師與學生的愛情電影 瀏覽:781
凈水機過濾芯怎麼換圖解 瀏覽:780
即熱式飲水機滴水怎麼回事 瀏覽:304
電水壺底有水垢的方法 瀏覽:308
飲水機是什麼加熱器 瀏覽:101
大劍1988 瀏覽:29
嘉興銀秀苑位相污水零直排區 瀏覽:390
污水處理生物接觸氧化法污染物去除率 瀏覽:526
女主身材好的倫理電影 瀏覽:868
伊犁污水處理設備怎麼樣 瀏覽:681
女高速收費電影 瀏覽:29
韓國女兒找爸爸是什麼電影 瀏覽:310
RO反滲透多少G是什麼意思 瀏覽:192
污水土地處理系統環境學概論 瀏覽:381
斷背山26分鍾刪減截圖 瀏覽:904