小编Sha*_*mik的帖子

Java过滤器用于重定向未登录到登录页面的用户

我试图制作一个过滤器来阻止未登录的用户访问某些页面.为此,我使用以下doFilter方法创建了一个过滤器类

HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) res;
String url = request.getRequestURI();
boolean allowedRequest = false;

System.out.println(url);

if(urlList.contains(url)) {
    allowedRequest = true;
    System.out.println("in list");
}

if (!allowedRequest) {
    Object o = request.getSession().getAttribute("UserInfo");
    if (null == o) {
        System.out.println("Hey i am in");
        response.sendRedirect("/login.jsp");
    }
}

chain.doFilter(req, res);

} // end of doFilter
Run Code Online (Sandbox Code Playgroud)

为了允许不需要用户登录的页面我在init()中创建了一个arraylist url-list

现在发生了一件非常奇怪的蠢事.假设我有两页home.jsp和dcr.jsp.当我尝试访问home.jsp而没有登录时,我成功地重定向到login.jsp,但是当我试图访问dcr.jsp时它没有被重定向,尽管它进入循环if(null == o)我能理解因为我在控制台中打印该行.THis是我在服务器中获得的输出这是我在服务器中获得的输出

/dcrmaintenance.jsp

Hey i am in
Run Code Online (Sandbox Code Playgroud)

这告诉我null == o是真的.

页面dcr.jsp访问一个会话对象,由于用户没有登录,它正在按预期获得java.lang.NullPointerException但我无法理解为什么即使进入循环后重定向也没有发生.如果有人可以在哪里我犯了一个错误,我将不胜感激.

java servlets servlet-filters

3
推荐指数
1
解决办法
3万
查看次数

ServiceStack.Redis无法解析

我写了这段代码来创建一个redis客户端实例

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ServiceStack.Redis;
using ServiceStack;



class Program
{
    static void Main(string[] args)
    {
        RedisClient a = new RedisClient();
         .....
Run Code Online (Sandbox Code Playgroud)

但在尝试构建解决方案时,我收到了此警告

'The referenced assembly "ServiceStack.Redis" could not be resolved because                                   it has a dependency on "System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" which is not in the currently targeted framework ".NETFramework,Version=v4.0,Profile=Client". Please remove references to assemblies not in the targeted framework or consider retargeting your project.'
Run Code Online (Sandbox Code Playgroud)

和错误

Error3 The type or namespace name 'RedisClient' could not …
Run Code Online (Sandbox Code Playgroud)

c# redis servicestack

3
推荐指数
1
解决办法
2242
查看次数

尝试缩进json转储然后写入文件

我有这个json转储,它没有很好的缩进,当我只是写入一个文件时不可读,所以为了使它更具可读性我做了这个

 with open(responseFile, 'w') as outfile:
      outfile.write(dumps(loads(content), indent=4))
Run Code Online (Sandbox Code Playgroud)

但现在我得到这个无效\转义:错误.有什么建议 ?

例如内容:

{"devices":{"device":{"customAssetNumber":"","deviceName":"Shamik\'s iPhone","deviceOwner":"","deviceStatus":"Active","deviceType":"Smartphone","emailAddress":"sray@xyz.com","imeiEsn":342342,"installedDate":"2014-03-04T09:14:58","lastReported":"2014-03-05T06:48:42","DeviceID":"ApplC39GMAR7DTD8","Status":"Enrolled","mailboxDeviceId":"","mailboxLastReported":"","mailboxManaged":"","manufacturer":"Apple","model":"iPhone 4S","osName":"iOS 7","osServicePack":"","ownership":"Not Defined","platformName":"iOS","sourceID":1,"udid":"","unifiedTravelerDeviceId":"","username":"sray","wifiMacAddress":""},"count":1,"pageNumber":1,"pageSize":1}}
Run Code Online (Sandbox Code Playgroud)

python json

0
推荐指数
1
解决办法
339
查看次数

标签 统计

c# ×1

java ×1

json ×1

python ×1

redis ×1

servicestack ×1

servlet-filters ×1

servlets ×1