導航:首頁 > 凈水問答 > 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相關的資料

熱點內容
工業污水有哪些成分 瀏覽:756
軍官愛情電影 瀏覽:754
路虎攬勝微粒過濾器已滿 瀏覽:770
下載美國裸體電影 瀏覽:883
污水排放到哪去了 瀏覽:1
瀘州圓形污水井蓋銷售 瀏覽:99
油濾芯怎麼選 瀏覽:705
石油分餾是蒸餾的一種嗎 瀏覽:454
淮北市相山區科迅水處理設備廠 瀏覽:174
魚缸上過濾頂濾視頻 瀏覽:200
銅粉濾芯的精度是多少 瀏覽:183
海南生活污水如何處理 瀏覽:458
啄木鳥白雪公主 百度網盤 瀏覽:600
宋朝蒸餾酒的故事 瀏覽:288
重生香港白手起家的小說 瀏覽:880
那些影視資源他們是怎麼弄的 瀏覽:221
潮州空氣消毒凈化器大概多少錢 瀏覽:542
韓國推理片大全 瀏覽:991
一般的家用凈水器是什麼反滲透 瀏覽:878
升利達污水提升器適用哪些地方 瀏覽:115