java过滤器重定向
❶ 关于在java过滤器中进行页面重定向的问题
if (userid.equals("null")) {
你确定不是这样写:
if (userid==null) {
❷ java response.sendRedirect()重定向死循环
可能是因为你过滤后直接就跳转了,结果又被拦截,所以就变成了死循环。
解决方式有很多,对特定的链接来进行跳转,
在里面加判断就行了。
❸ 求教如何一条一条URL的做301重定向
不知楼主使用的是什么语言?重定向一般后台做比较好,像java的话,可以添加使过滤器,将所有的url做301重定向,比如it399.com,全部重定向到www.it399.com。单个url可以参照下述方法。如果是其它语言,直接网络xx语言,比如php如何实现301重定向,网上很多答案的。
如果楼主使用java springboot的话可以使用如下方法
@RequestMapping(value = "/blog/web/Web201805041746")
public RedirectView getArticleRedirect(Model mode){
RedirectView redirectView = new RedirectView("/blog/web/201805041746");
redirectView.setStatusCode(HttpStatus.MOVED_PERMANENTLY);
return redirectView;
}
如果是古老的jsp呢呢,可以使用
<%
response.setStatus(301);
response.setHeader( “Location”, “http://www.it399.com” );
response.setHeader( “Connection”, “close” );
%>
望采纳,谢谢!
❹ java web中的filter权限过滤问题
是login.jsp被嵌入到iframe里吧?三种解决方案:
首页菜单栏就做权限控制,没有权限的菜单不展示
需要专权限的菜单点击时先属ajax请求后台判断权限,权限通过了再加载页面到iframe,否则页面重定向到登录页
登录页加入js判断该页面是否处于iframe中,如果是则重写parent.location到登录页
❺ java-web页面绕过过滤器的问题
你这个代码有点简单了.可以用一个框架 叫shiro,它里面的逻辑是很完整的,我忘记具体代码怎么写的了,但是你注销之后是否重定向到登录页面了呢
❻ java开发中,转发和重定向什么区别
转发,可以传递来request的值,重自定向是重新发送请求,原来的请求参数值没有了。
转发:以前的request中存放的变量不会失效,就像把两个页面拼到了一起。
重定向:以前的request中存放的变量全部失效,并进入一个新的request作用域。
❼ java 如何在重定向和服务器内部跳转中带上target属性
login.jsp
<html>
<head>
<base href="<%=basePath%>">
<title>demo</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<frameset rows="64,*" frameborder="NO" border="0" framespacing="0">
<frame src="admin_top.jsp" noresize="noresize" frameborder="NO" name="topFrame" scrolling="no" marginwidth="0" marginheight="0" target="main" />
<frameset cols="200,*" rows="560,*" id="frame">
<frame src="left.jsp" name="leftFrame" noresize="noresize" marginwidth="0" marginheight="0" frameborder="0" scrolling="no" target="main" />
<frame src="right.jsp" name="main" marginwidth="0" marginheight="0" frameborder="0" scrolling="auto" target="_self" />
</frameset>
<noframes>
<body></body>
</noframes>
</html>
比如说你的login页面包含left,right,top等等,就像上边,上边是随便写的。你redirect的时候直接往login页面跳不就得了
❽ 请问:如何在java过滤器更改url请求地址,然后交给下一个过滤器处理
更改地址?除非你在这个filter里重定向,第二次直接放行,到第二个filter
❾ java web程序怎么实现301重定向
其实做站点开发的很少使用java的,像Apache等可以直接配置301跳转,可是tomcat只是一个servlet容器,没办法我只能使用过滤器来实现301跳转,下面把代码分享给大家。
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class URLFilter implements Filter {
@Override
public void destroy() {
// TODO Auto-generated method stub
}
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
final HttpServletRequest req = (HttpServletRequest) request;
final HttpServletResponse res=(HttpServletResponse)response;
String requestPage = req.getRequestURI();
String queryString = (req.getQueryString() == null ? "" : "?"+req.getQueryString());
if(req.getRequestURL().indexOf("http://osblog.net") >=0){
res.setStatus(301);
res.setHeader( "Location", "http://www.osblog.net"+requestPage+queryString);
res.setHeader( "Connection", "close" );
}
chain.doFilter(request, response);
}
@Override
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}
❿ java web 项目 添加登陆过滤器后,出现“此网页包含重定向循环”问题
对啊 过滤器实现的就是过滤当前请求,否则重定向循环
java学习小组,希望可以一起学习进步,Java框架平台研发 378 437 335