陈万琛
侠客
侠客
  • UID499
  • 粉丝0
  • 关注0
  • 发帖数17
  • 社区居民
阅读:5654回复:1

使用平台开发的xhtml页面,请问怎么实现免登陆就能查看页面

楼主#
更多 发布于:2018-12-27 17:41
需求:在首页设置一个链接跳转页面A,不需要登陆就能查看页面A的数据。
看了论坛中的类似免登陆问题,在page中进行了设置过后,点击跳转过去后依旧会出现session过期不能查看数据的问题。望指教。

最新喜欢:

张浩宇张浩宇
陈万琛
侠客
侠客
  • UID499
  • 粉丝0
  • 关注0
  • 发帖数17
  • 社区居民
沙发#
发布于:2018-12-28 15:19
多谢@刘寨 @曾昭洪的支持
主要问题:加载数据时会被登陆拦截,出现登陆超时的问题。




解决方法一:使用servlet自定义数据源继承GridDataServlet类添加anonymous = true匿名。






import java.io.IOException;

import javax.servlet.ServletException;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.sunsheen.jfids.system.data.grid.GridDataServlet;import com.sunsheen.jfids.system.servlet.Servlet;



@Servlet(value="/data/LoginBeforeServlet.svt",anonymous = true)public class LoginBeforeServlet extends GridDataServlet{

 @Override
 public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
 doPost(req,res); }

 @Override
 public void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
 // TODO 自动生成的方法存根 GridDataServlet t =new GridDataServlet();
 t.doGet(req, res); }
}

解决方法二:
可以在web.xml中自定义一个过滤器,在过滤器中加判断,当检测为特定的页面时,会不进行过滤。
过滤器的配置:


<filter>
 <filter-name>actionFilter</filter-name>
<filter-class>com.edu.fzu.station.filter.ActionFilter</filter-class>
</filter>
 <filter-mapping>
 <filter-name>actionFilter</filter-name>
<url-pattern>/*</url-pattern>//对所有的文件进行过滤
</filter-mapping>


在过滤器文件(比如这里是ActionFilter文件)中加入下面的代码:


if(requestURIName.endsWith(".jsp")||requestURIName.endsWith(".js")||requestURIName.endsWith(".css")){
       chain.doFilter(httpRequest, httpResponse);
       return;
}


解决方法三:
比较粗暴的笨方法
直接写个servlet类,自己写个页面。使用bean的方式接收数据。不推荐。





游客

返回顶部