社区
Web 开发
帖子详情
过滤器到底该如何设置?
hyowner
2010-01-14 12:37:29
现在设置一个过滤器,要求就是必须先经过登陆页面输入正确的用户名和密码以后才能进入下一个页面里,我用的是tomcat,还有就是如果直接在地址栏中输入http://localhost:8080/phone/listmessage.jsp这样的地址的话是打不开页面的,必须先经过login.jsp登陆页登陆到下一页 就这样的要求 需要写什么代码和在web.xml配置些什么呢????
...全文
185
17
打赏
收藏
过滤器到底该如何设置?
现在设置一个过滤器,要求就是必须先经过登陆页面输入正确的用户名和密码以后才能进入下一个页面里,我用的是tomcat,还有就是如果直接在地址栏中输入http://localhost:8080/phone/listmessage.jsp这样的地址的话是打不开页面的,必须先经过login.jsp登陆页登陆到下一页 就这样的要求 需要写什么代码和在web.xml配置些什么呢????
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
IT_go
2010-01-14
打赏
举报
回复
我给你个filter的代码 你看看 也许有帮助:
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest httpreq = (HttpServletRequest) request;
HttpServletResponse httpresp = (HttpServletResponse) response;
int n1 = httpreq.getServletPath().indexOf("login.jsp");
int n2 = httpreq.getServletPath().indexOf("/servlet/Login");
if (n1 != -1 || n2 != -1)
chain.doFilter(request, response);
else
{
HttpSession session = httpreq.getSession();
String username = (String) session.getAttribute("username");
if (username == null) httpresp.sendRedirect("/filter/login.jsp");
else chain.doFilter(request, response);
}
}
hyowner
2010-01-14
打赏
举报
回复
顶起!!!在线等待
shadow55
2010-01-14
打赏
举报
回复
把你需要登录才能访问的jsp放到一个文件夹,过滤器写过滤这个文件夹的所有访问就好了
iso_wangjian
2010-01-14
打赏
举报
回复
[Quote=引用 3 楼 it_go 的回复:]
我给你个filter的代码 你看看 也许有帮助:
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest httpreq = (HttpServletRequest) request;
HttpServletResponse httpresp = (HttpServletResponse) response;
int n1 = httpreq.getServletPath().indexOf("login.jsp");
int n2 = httpreq.getServletPath().indexOf("/servlet/Login");
if (n1 != -1 || n2 != -1)
chain.doFilter(request, response);
else
{
HttpSession session = httpreq.getSession();
String username = (String) session.getAttribute("username");
if (username == null) httpresp.sendRedirect("/filter/login.jsp");
else chain.doFilter(request, response);
}
}
[/Quote]
int n2 = httpreq.getServletPath().indexOf("/servlet/Login");
为什么有N2?代表上面意思?
hyowner
2010-01-14
打赏
举报
回复
错是没错了 就是我进入我的login.jsp就是白板显示 什么都没了
ChDw
2010-01-14
打赏
举报
回复
你先断点跟踪一下,看看是不是进入你的 Filter了。如果没有进入就表示你配置有错啊
hyowner
2010-01-14
打赏
举报
回复
还有人会吗?
hyowner
2010-01-14
打赏
举报
回复
没错了 可是还是不行 没过滤掉我的JSP
hyowner
2010-01-14
打赏
举报
回复
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: Unable to compile class for JSP:
An error occurred at line: 6 in the generated java file
Only a type can be imported. javax.jms.Session resolves to a package
Stacktrace:
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:93)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:435)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:298)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:277)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:265)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:564)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:302)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
filter.LoginFilter.doFilter(LoginFilter.java:41)
filter.EncodeFilter.doFilter(EncodeFilter.java:24)
按你说的 一打开我的login.jsp就报这样的错了...
IT_go
2010-01-14
打赏
举报
回复
是博客里加你好友了 我也是新手 我们这网络限制 上不了QQ 不过我会留你QQ号
hyowner
2010-01-14
打赏
举报
回复
加我QQ好吗??QQ是57191841
IT_go
2010-01-14
打赏
举报
回复
我加你好友了 我们可以有时间在交流
sgl1984
2010-01-14
打赏
举报
回复
<filter>
<filter-name>PrivilegeFilter</filter-name><!-过滤器的名称,你自己取->
<filter-class>com.util.PrivilegeFilter</filter-class><!-对应的类->
</filter>
<filter-mapping>
<filter-name>PrivilegeFilter</filter-name><!--与上面的名称对应->
<url-pattern>/manager/*</url-pattern><!-你要未被发现滤的页面的路径->
</filter-mapping>
IT_go
2010-01-14
打赏
举报
回复
web设置:<filter>
<filter-name>StyleFilter</filter-name>
<filter-class>controller.StyleFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>StyleFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping> 记得最好filter-mapping放在所有的servlet后面;
int n2 = httpreq.getServletPath().indexOf("/servlet/Login"); 这个主要就是设置排除路径用的 如果是login.jsp 或者servlet/login的话 就直接进入 否则的话就跳到登录的页面
hyowner
2010-01-14
打赏
举报
回复
web.xml里怎么设置的呢?希望能告诉下哦 谢谢了
IT_go
2010-01-14
打赏
举报
回复
或者这样的:(只是if条件不一样 你看看哪个你更能了解)
public void doFilter(ServletRequest req, ServletResponse res,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest)req;
String path = request.getServletPath();
int url1 = path.indexOf("/login.jsp");
int url2 = path.indexOf("/LoginJudge");
if(url1 == -1 && url2 == -1){
HttpSession session = request.getSession();
Object user = session.getAttribute("user");
if(user == null){
request.setAttribute("msg", "对不起,你还没有登录....");
request.getRequestDispatcher("/login.jsp").forward(request, res);
return;
}
}
chain.doFilter(request, res);
}
hyowner
2010-01-14
打赏
举报
回复
int n2 = httpreq.getServletPath().indexOf("/servlet/Login"); 什么意思呢额?
布隆
过滤器
有什么用?什么原理?如何使用?
布隆
过滤器
有什么用?什么原理?如何使用?
SpringMVC——
过滤器
SpringMVC——
过滤器
实现和理解 一、先提出几个问题 ?
过滤器
是什么? ?
过滤器
是如何实现的? ?
过滤器
和拦截器的区别? ?
过滤器
的核心原理是什么(阅读源码)? 之前我学东西总是不够深入,现在决定换个...
什么是布隆
过滤器
?如何使用?
布隆
过滤器
(英语:Bloom Filter)是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆
过滤器
可以用于检索一个元素是否在一个集合中如果想判断一个元素是不是在一个集合里,一般想到的...
Springmvc中拦截器与
过滤器
的区别
3.
过滤器
是用来
设置
request,response参数、属性,侧重对数据的过滤;拦截器是用来验证请求的,能截断请求。 4.
过滤器
是在拦截器之前执行的 5.
过滤器
是tomcat服务器创建的对象,拦截器是springmvc容器创建的对象 ...
拦截器与
过滤器
的区别
文章目录一、二者理解
过滤器
(Filter)拦截器(Interceptor)二、...
过滤器
,是在java web中将你传入的request、response提前过滤掉一些信息,或者提前
设置
一些参数。然后再传入Servlet或Struts2的 action进行业务逻...
Web 开发
81,091
社区成员
341,718
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章