网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
可签
7
级以上的吧
50
个
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
01月09日
漏签
0
天
java吧
关注:
1,294,041
贴子:
12,826,561
看贴
图片
吧主推荐
视频
游戏
1
2
下一页
尾页
16
回复贴,共
2
页
,跳到
页
确定
<返回java吧
>0< 加载中...
Hibernate.06 JSP Filter
取消只看楼主
收藏
回复
灬笶葒塵Dj
淼水
4
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
要求是验证用户在访问某些页面的时候,判断用户是否已经登录。
如果登录则允许访问。
否则跳转到登录页面。
ps:这是我刚完成的一章的作业。
送TA礼物
1楼
2012-09-10 21:33
回复
灬笶葒塵Dj
淼水
4
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
1.打开myeclipse右键新建一个web项目
并且取名为FilterDemo
如下图:
4楼
2012-09-10 21:37
回复
收起回复
2026-01-09 19:05:19
广告
不感兴趣
开通SVIP免广告
灬笶葒塵Dj
淼水
4
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
2.1
新建一个登录页面(login.jsp)
2.2
在index.jsp页面中定向到登录页面中。
2.3
在WebRoot目录下面新建一个包(test)
并且在test包目录下面添加一张test.jsp
如下图所示:
5楼
2012-09-10 21:43
回复
收起回复
灬笶葒塵Dj
淼水
4
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
3.在src目录下面新建一个包(com.bean(什么都行))
添加一个class类(EncodingFilter)
注意:本类是用来设置编码。
添加一个class类(SecurityFilter(重点))
注意:本类是用来判断,当用户在访问某些页面的时候是否已经登录(等)...
ps:我只是用来完成判断用户是否登录。
6楼
2012-09-10 21:48
回复
收起回复
灬笶葒塵Dj
淼水
4
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
7楼
2012-09-10 21:50
回复
收起回复
灬笶葒塵Dj
淼水
4
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
4.
开始编码
4.1
EncodingFilter类implements实现接口import javax.servlet.Filter;
在doFilter方法中设置编码.
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
//放他走
chain.doFilter(request, response);
如下图:
8楼
2012-09-10 21:54
回复
收起回复
灬笶葒塵Dj
淼水
4
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
4.2(重点)
EncodingFilter类implements实现接口import javax.servlet.Filter;
//在doFilter类中完成判断
//1.构建request和response变量
HttpServletRequest req=(HttpServletRequest)request;
HttpServletResponse res=(HttpServletResponse)response;
//2.构建session对象
HttpSession session = req.getSession(true);
//3.从session里取到用户名信息
String username=(String)session.getAttribute("username");
//4.进行判断用户是否已经登录
if(username==null || "".equals(username)){
//如果没有登录则返回到登录页面
res.sendRedirect("../login.jsp");
}else{
//已经登录则继续进行请求
chain.doFilter(req, res);
}
10楼
2012-09-10 21:58
回复
收起回复
灬笶葒塵Dj
淼水
4
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
如图:
12楼
2012-09-10 22:00
回复
收起回复
2026-01-09 18:59:19
广告
不感兴趣
开通SVIP免广告
灬笶葒塵Dj
淼水
4
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
5.在web.xml配置文件添加filter进去
让它生效。
5.1
在web.xml添加如下代码
<!-- 使用的过滤器 -->
<filter>
<filter-name>EncodingFilter</filter-name>
<filter-class>com.bean.EncodingFilter</filter-class>
</filter>
<!-- 服务器把哪些请求交给过滤器处理。 -->
<filter-mapping>
<filter-name>EncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!--/表示根路径,*(星号)代表所有请求,加在一起就变成了根路径下的所有请求。
这样,所有的请求都会先被EncodingFilter拦截,并在请求里设置上指定的编码。 -->
<filter>
<filter-name>SecurityFilter</filter-name>
<filter-class>com.bean.SecurityFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>SecurityFilter</filter-name>
<!--这里代表的是在test目录下面所有操作-->
<url-pattern>/test/*</url-pattern>
</filter-mapping>
13楼
2012-09-10 22:08
回复
收起回复
灬笶葒塵Dj
淼水
4
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
14楼
2012-09-10 22:09
回复
收起回复
灬笶葒塵Dj
淼水
4
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
5.2
在src目录下面新建一个包(com.servlet(放servlet的地方))
添加一个Servlet(LoginAction)
编写查询代码:
HttpSession session = request.getSession(true);
System.out.println(request.getParameter("username"));
if (request.getParameter("username").equals("test")) {
session.setAttribute("username", request.getParameter("username"));
request.getRequestDispatcher("test/test.jsp").forward(request, response);
}else{
request.setAttribute("logErr", "用户名不正确!");
request.getRequestDispatcher("login.jsp").forward(request, response);
}
ps:我这里只是判断是否登录而已。
因此只要用户名为test就可以了。
实际中应该从数据库中查询。
15楼
2012-09-10 22:13
回复
收起回复
灬笶葒塵Dj
淼水
4
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
16楼
2012-09-10 22:14
回复
收起回复
灬笶葒塵Dj
淼水
4
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
5.3
longin.jsp代码如下
17楼
2012-09-10 22:15
回复
收起回复
灬笶葒塵Dj
淼水
4
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
6.测试。
18楼
2012-09-10 22:18
回复
收起回复
2026-01-09 18:53:19
广告
不感兴趣
开通SVIP免广告
灬笶葒塵Dj
淼水
4
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
好的。
我的测试是成功的。
如果输入非test的值就会重新回到本页面并且提示用户名有误。
如果是正确的就可以进入test目录下面访问test.jsp
19楼
2012-09-10 22:20
回复
收起回复
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧热议榜
1
开年首炸!性转版入赘测试屠榜
1973700
2
偷登定位抓包:女友睡在别家床
1903067
3
ICE杀人豁免,万斯:杀就完事了
1577632
4
耍酒疯怼女保姆,男友当场炸毛
1518345
5
梅毒大国发力,逼初中生签约拍AV
1499914
6
美国掀翻牌桌连退66组织
1104325
7
俄精准断供材料,日本产业被反杀
796032
8
学生拒剪发遭老师摁头强剃
720659
9
LPL选手气炸李哥,惨遭光速重罚
663982
10
日本交涉被拒,中方驳回不惯着
572901
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示