『壹』 我寫了一個過濾器 然後跳轉到action裡面從action裡面去值 傳入頁面 出現了異常
public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) arg0;
request.getRequestDispatcher("UserInfoAction.do").forward(arg0, arg1);
arg2.doFilter(arg0, arg1);
}
request.getRequestDispatcher("UserInfoAction.do").forward(arg0, arg1);
裡面的UserInfoAction.do好像不對吧,你應該寫struts裡面的配置路徑path="userInfo"
所以寫為 request.getRequestDispatcher("userInfo.do").forward(arg0, arg1);
|||||||
試試吧,不行的話再說
『貳』 JAVA過濾器可以改變請求的內容或者重新設置請求 這里的請求就是這個servlet 或者jsp或
可以。隨意跳轉。
HttpServletResponse res = (HttpServletResponse) response;
res.sendRedirect(redirectURL);//這里是你回的新請求路答徑
『叄』 怎麼在Javascript里跳轉到servlet頁面
if(confirm("確認要刪除嗎?"))location.href="/項目名/需要跳轉的Servlet的Url名";
例如:
if(confirm("請先登錄?")){
location.href = "/ssts/login";
}
ssts:項目名
login:servlet名
『肆』 filter過濾器怎麼設置攔截servlet請求
servletNamecom.xxx.xxx.servletClassservletName*.doweb.xml裡面的過濾器配置只支持以下三種①完內全匹配/test/.do②目容錄匹配/test/*③擴展名匹配*.do而不支持/*.do這樣的
『伍』 Filter中如何跳轉到頁面
//filter可以獲取到request對象,使用request的轉發,可以轉發到其他html,jsp,servlet等
publicvoiddoFilter(ServletRequestrequest,ServletResponseresponse,FilterChainchain)throwsIOException,ServletException{
if(condition){
System.out.println("filter");
request.getRequestDispatcher("index.jsp").forward(request,response);
}else{
chain.doFilter(request,response);
}
}
『陸』 java連個過濾器之間的跳轉
你就想定義一個filter一樣定義兩個filter就可以。在filter中不是有一個filterchain么,他就是把請求傳遞給下一個filter去處理的。
『柒』 html頁面怎麼跳轉到servlet
你可以用做鏈接!
在XML 文件裡面注冊servlet
表單用<form action="你注冊的路徑" method="post">
在servlet裡面用
request.getRequestDispatcher("你的html頁面名.htm").forward(request, response);
就行了!
『捌』 java程序實現登陸。用戶沒有登錄但訪問非登錄的頁面,使用過濾器跳轉到登錄頁,登錄後怎麼回到訪問頁
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest)request;
if(req.getSession().getAttribute("user")==null){
req.setAttribute("error", "請你先登錄");
//非法請求才會進到這裡面,在這里保存請求的地址,在成功登錄後再進行跳轉
req.getSession().setAttribute("goUrl", req.getRequestURL()+"?"+ req.getQueryString());
request.getRequestDispatcher("/ulogin.jsp").forward(request, response);
}
else{
chain.doFilter(request, response);
}
}
上面的代碼是過濾器中的代碼
下面的是servlet中的代碼
if(request.getSession().getAttribute("goUrl")!=null){
String url = (String)request.getSession().getAttribute("goUrl");
response.sendRedirect(url);
}
else{
response.sendRedirect("/webshopping/index.jsp");
}
『玖』 JAVA過濾器ServletRequest如何轉換成HttpServletRequest
問題1:
org.apache.catalina.connector..servlet.http.HttpServletRequest
錯誤提示似乎挺明顯的了,說一個類型不能強制轉化為另一個類型。
待轉型類型是:org.apache.catalina.connector.ResponseFacade
目標類型是:javax.servlet.http.HttpServletRequest
我想你應該看出來了,ResponseFacade -->HttpServletRequest肯定是不行的?
也就是說你是用的那個arg1肯定是一個response,你寫錯了而已。
改過來就好。也建議你把arg這種的參數名字寫作res或者rep比較容易識別,並且可以提高代碼可讀性的變數名。
問題2:
關於過濾器實現地址的攔截,那麼首先獲得請求的地址,也就是通過request對象,它有好多個獲得url的不同不同部分的方法。比如可以使用getServletPath()方法獲得請求的路徑,然後判斷是否合法,不合法跳轉到指定頁面,合法那麼繼續chain.doFilter()。
『拾』 過濾器怎麼過濾servlet跳轉後的頁面
這個問題我很有發言權,我搞了一晚上,剛剛發現這個怎麼弄
新建一個filter