由于很久没有从事JEE开发,在使用SSH开发一个小网站的时候,遇到一个小问题,需要请教指示。就是整个网站的JSP网页在没有登录的情况下不能对其他网页进行访问,这个功能是怎样实现的。我记着好像是使用Session来保存相关的登录信息,在加载网页的时候对Session中的值进行校验。但是不知道怎么实现,请各位大侠指教下。
解决方案 »
- 关于广东天翎-myapps的疑问
- Struts2.0实现文件上传时,资源文件如何编写
- 试着不通过ant直接调用xdoclet相关类生成ejb,失败了
- 救命啊------弄了一天了还不行,郁闷................
- 有人知道 jvm crash log 怎么分析吗?
- tomcat org.apache.coyote.tomcat4.CoyoteConnector错误
- 求救,怎样对一个jpg或gif图片文件压缩它的大小
- 如何configure Borland Enterprise Appservers?我enable server之后怎么不行? (dushouxiao )
- 昨天第一次写EJB,在remote接口中......
- 大神们,求解websphere配置Sybase的数据源报这个错是什么意思
- 各种报错!求大虾!!!
- Struts2下载完成后是0KB
也可以像你说的、把用户信息保存起来、!
有些特殊页面、就在页面上把session值取出来、如果有值就给显示、没有值就叫用户登录!
package com.store.common.web.leach;import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.FilterConfig;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;/**
* @see 未登录用户的过滤器
* @version 1.0
*/
public class UserRole implements Filter {
public void destroy() {
} public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest request1 = (HttpServletRequest) request;
HttpServletResponse response1 = (HttpServletResponse) response;
if (null == request1.getSession().getAttribute("loginUser")) {// 登录用户保存在这个位置
System.out.println("未登录访问");
response1.sendRedirect(request1.getContextPath());
} else {
chain.doFilter(request, response);
}
} public void init(FilterConfig config) throws ServletException {
}
}然后修改web.xml的配置:
<!-- 当用户访问到page和upload这两个文件夹的资源时,如果用户登录就直接弹出 -->
<filter>
<filter-name>UserRole</filter-name>
<filter-class>com.store.common.web.leach.UserRole</filter-class>
</filter>
<filter-mapping>
<filter-name>UserRole</filter-name>
<url-pattern>/page/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>UserRole</filter-name>
<url-pattern>/upload/*</url-pattern>
</filter-mapping>最后重新启动服务器,打开浏览器试试,包你管用!