起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: zyzn123

[结贴] 限制只能登录次数

[复制链接]

157

主题

600

帖子

937

积分

高级会员

Rank: 4

积分
937
QQ
 楼主| 发表于 2018-2-5 17:48:23 | 显示全部楼层
.j文件调用queryOnlineUserAction。
原先采用的方法是:
com.justep.system.action.ActionUtils
但在.j中没有该类。只有打开声明 com.justep.biz.client.ActionUtils,但该方法无法调用action即,  ActionUtils.invokeAction
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36185
发表于 2018-2-6 08:54:23 | 显示全部楼层
.j中可以直接参考UI2/system/service/common/queryOnlineUsers.j中的方式调用啊
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

157

主题

600

帖子

937

积分

高级会员

Rank: 4

积分
937
QQ
 楼主| 发表于 2018-2-6 09:27:17 | 显示全部楼层
恩,UI2/system/service/common/queryOnlineUsers.j下面代码即为:
        StreamCallback callback = new StreamCallback(response);
                    String accept = NetUtils.getAccept(request);
                    String contentType = NetUtils.getContentType(request);
                    
                    ActionResult actionResultCheck=ActionEngine.invokeActions(JustepConfig.getBusinessServer() + "/onlineUsers", null, null, null, accept, contentType, null, null, "get", callback);
               
                    System.out.println("actionResultCheck="+actionResultCheck);

会抛出异常?
回复 支持 反对

使用道具 举报

157

主题

600

帖子

937

积分

高级会员

Rank: 4

积分
937
QQ
 楼主| 发表于 2018-2-6 09:27:33 | 显示全部楼层
java.lang.IllegalStateException
        at org.apache.catalina.connector.ResponseFacade.sendRedirect(ResponseFacade.java:435)
        at LoginSelf.execute(LoginSelf.java:126)
        at com.justep.ui.JavaServer.runJava(Unknown Source)
        at com.justep.ui.JavaServer.doJ(Unknown Source)
        at com.justep.ui.JavaServer.service(Native Method)
        at com.justep.ui.servlet.MainServlet.service(Unknown Source)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at com.justep.portal.filter.RedirectFilter.doFilter(Unknown Source)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:745)
2018-02-06 09:25:04 编码: JUSTEP002026; 提示: .J(/UI2/portal_X/base/loginSelf/loginSelf.j)执行失败
javax.servlet.ServletException: com.justep.ui.exception.UIException: 编码: JUSTEP002026; 提示: .J(/UI2/portal_X/base/loginSelf/loginSelf.j)执行失败
        at com.justep.ui.servlet.MainServlet.service(Unknown Source)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at com.justep.portal.filter.RedirectFilter.doFilter(Unknown Source)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:745)
Caused by: com.justep.ui.exception.UIException: 编码: JUSTEP002026; 提示: .J(/UI2/portal_X/base/loginSelf/loginSelf.j)执行失败
        at com.justep.ui.exception.UIException.create(Unknown Source)
        at com.justep.ui.JavaServer.doJ(Unknown Source)
        at com.justep.ui.JavaServer.service(Native Method)
        ... 17 more
Caused by: java.lang.IllegalStateException
        at org.apache.catalina.connector.ResponseFacade.sendRedirect(ResponseFacade.java:435)
        at LoginSelf.execute(LoginSelf.java:126)
        at com.justep.ui.JavaServer.runJava(Unknown Source)
        ... 19 more
回复 支持 反对

使用道具 举报

157

主题

600

帖子

937

积分

高级会员

Rank: 4

积分
937
QQ
 楼主| 发表于 2018-2-6 09:27:55 | 显示全部楼层

二月 06, 2018 9:25:04 上午 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet main-servlet threw exception
java.lang.IllegalStateException
        at org.apache.catalina.connector.ResponseFacade.sendRedirect(ResponseFacade.java:435)
        at LoginSelf.execute(LoginSelf.java:126)
        at com.justep.ui.JavaServer.runJava(Unknown Source)
        at com.justep.ui.JavaServer.doJ(Unknown Source)
        at com.justep.ui.JavaServer.service(Native Method)
        at com.justep.ui.servlet.MainServlet.service(Unknown Source)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at com.justep.portal.filter.RedirectFilter.doFilter(Unknown Source)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:745)

二月 06, 2018 9:25:04 上午 org.apache.catalina.core.ApplicationDispatcher invoke
严重: Servlet.service() for servlet jsp threw exception
java.lang.IllegalStateException: getOutputStream() has already been called for this response
        at org.apache.catalina.connector.Response.getWriter(Response.java:611)
        at org.apache.catalina.connector.ResponseFacade.getWriter(ResponseFacade.java:198)
        at javax.servlet.ServletResponseWrapper.getWriter(ServletResponseWrapper.java:112)
        at org.apache.jasper.runtime.JspWriterImpl.initOut(JspWriterImpl.java:125)
        at org.apache.jasper.runtime.JspWriterImpl.flushBuffer(JspWriterImpl.java:118)
        at org.apache.jasper.runtime.PageContextImpl.release(PageContextImpl.java:183)
        at org.apache.jasper.runtime.JspFactoryImpl.internalReleasePageContext(JspFactoryImpl.java:118)
        at org.apache.jasper.runtime.JspFactoryImpl.releasePageContext(JspFactoryImpl.java:77)
        at org.apache.jsp.error_jsp._jspService(error_jsp.java:148)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
        at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:551)
        at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:488)
        at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:416)
        at org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:270)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:745)

二月 06, 2018 9:25:04 上午 org.apache.catalina.core.StandardHostValve custom
严重: Exception Processing ErrorPage[exceptionType=java.lang.Exception, location=/error.jsp]
org.apache.jasper.JasperException: java.lang.IllegalStateException: getOutputStream() has already been called for this response
        at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:502)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:424)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
        at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:551)
        at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:488)
        at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:416)
        at org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:270)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.IllegalStateException: getOutputStream() has already been called for this response
        at org.apache.catalina.connector.Response.getWriter(Response.java:611)
        at org.apache.catalina.connector.ResponseFacade.getWriter(ResponseFacade.java:198)
        at javax.servlet.ServletResponseWrapper.getWriter(ServletResponseWrapper.java:112)
        at org.apache.jasper.runtime.JspWriterImpl.initOut(JspWriterImpl.java:125)
        at org.apache.jasper.runtime.JspWriterImpl.flushBuffer(JspWriterImpl.java:118)
        at org.apache.jasper.runtime.PageContextImpl.release(PageContextImpl.java:183)
        at org.apache.jasper.runtime.JspFactoryImpl.internalReleasePageContext(JspFactoryImpl.java:118)
        at org.apache.jasper.runtime.JspFactoryImpl.releasePageContext(JspFactoryImpl.java:77)
        at org.apache.jsp.error_jsp._jspService(error_jsp.java:148)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
        ... 18 more
回复 支持 反对

使用道具 举报

157

主题

600

帖子

937

积分

高级会员

Rank: 4

积分
937
QQ
 楼主| 发表于 2018-2-6 09:28:16 | 显示全部楼层
打算是按照那个来的,但抛出了上面的异常
回复 支持 反对

使用道具 举报

157

主题

600

帖子

937

积分

高级会员

Rank: 4

积分
937
QQ
 楼主| 发表于 2018-2-6 09:49:33 | 显示全部楼层
自定义.j文件内容如下:
public void execute(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        JSONObject content = null;
        String bsessionid = "";
        //从cookie中获取已有的bsessionid
        Cookie[] cookies = request.getCookies();
        if (cookies != null){
            for (int i = 0; i < cookies.length; i++) {
              String name = cookies.getName();
              if(name.equals("bsessionid")){
                  bsessionid = cookies.getValue();
              }
            }
        }
        //判断bsessionid是否超时-------session时间设置长些20分钟,ip必须来自osn才行(以后去限制)
        ActionResult checkResult = ActionEngine.checkSession(bsessionid, ActionUtils.JSON_CONTENT_TYPE);
        if (checkResult.isSessionTimeOut()){
            String username = request.getParameter("username");
            //String password = request.getParameter("password");
      
          .....................
                   StreamCallback callback = new StreamCallback(response);
                    String accept = NetUtils.getAccept(request);
                    String contentType = NetUtils.getContentType(request);
                    System.out.println("accept="+accept+"  contentType="+contentType);
               
                    ActionResult actionResultCheck=ActionEngine.invokeActions(JustepConfig.getBusinessServer() + "/onlineUsers", null, null, null, accept, contentType, null, null, "get", callback);
               

                    System.out.println("actionResultCheck="+actionResultCheck);
                        
        /* 检测如果已经在线,则注销原先的,重新登陆  end */
            
            ..........
            ActionResult actionResult = ActionEngine.login2(username, password, ip, language, loginDate, map, ActionUtils.JSON_CONTENT_TYPE, null);
            
            content = (JSONObject) actionResult.getContent();
            
            bsessionid = actionResult.getBSessionID();
            //把bsessionid放到Cookie中
            Cookie cookie = new Cookie("bsessionid",bsessionid);
            cookie.setMaxAge(-1);
            cookie.setPath("/");   
            response.addCookie(cookie);
        } else {
               
            content = (JSONObject) checkResult.getContent();
        }
        content.put("bsessionid", bsessionid);
        response.setCharacterEncoding("UTF-8");
        response.addHeader("Access-Control-Allow-Origin", "*");
        response.setContentType(ActionUtils.JSON_CONTENT_TYPE);
        response.sendRedirect("/x5/UI2/portal/pc3/index.w");  
        response.flushBuffer();
        
    }
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36185
发表于 2018-2-6 10:45:10 | 显示全部楼层
LoginSelf.execute(LoginSelf.java:126)这行是什么?
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

157

主题

600

帖子

937

积分

高级会员

Rank: 4

积分
937
QQ
 楼主| 发表于 2018-2-6 10:48:16 | 显示全部楼层
  response.sendRedirect("/x5/UI2/portal/pc3/index.w");  
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36185
发表于 2018-2-6 11:04:07 | 显示全部楼层
现在报错的LoginSelf.execute(LoginSelf.java:126)这行

不是获取在线的

可以在调用.j之前去判断在线,然后在调用你的.j登录,这样就不用修改你的.j文件
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2025-7-5 04:31 , Processed in 0.108470 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表