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

QQ登录

只需一步,快速开始

查看: 1609|回复: 3

[处理中3] 5.3.7 500 错误

[复制链接]

82

主题

211

帖子

647

积分

高级会员

Rank: 4

积分
647
QQ
发表于 2017-9-4 16:58:00 | 显示全部楼层 |阅读模式
2017-09-04 16:50:45 DataUtils.getConnection:java:comp/env/x5,jdbc:mysql://127.0.0.1:3306/x5, UserName=root@localhost, MySQL Connector Java
{"DEPTNO":"12","PWD":":e0d34b5ab5e5f0831ac99a9be6072f8e","ROLEID":"1","UID":"admin","UNAME":"管理员"}
java.lang.NullPointerException
        at com.justep.baas.servlet.BaasServlet.execService(Unknown Source)
        at com.justep.baas.servlet.BaasServlet.service(Unknown Source)
        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.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)
九月 04, 2017 4:50:45 下午 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet WeX5_Baas_Servlet threw exception

这个请求报500错误,但是我把请求复制到浏览器,可以返回数据,返回的在图第三个是截图,请问是什么原因,为什么会这样呢?,一开始登录的时候

我执行了这个方法

        public static JSONObject isLoginSuccess(JSONObject params, ActionContext context) throws SQLException, NamingException {
                String loginName=params.getString("username");
                String loginPassword=params.getString("password");
                String userType=params.getString("userType");
                Connection conn = context.getConnection(DATASOURCE);
                JSONObject result = new JSONObject();
                String tableName = "inside_user";
                HttpServletRequest request = (HttpServletRequest)context.get(ActionContext.REQUEST);
                try{
                        /*if(StringUtils.isNotBlank(userType)){
                                if(userType.equals("1")){
                                        tableName = "inside_user";
                                }else if(userType.equals("2")){
                                        tableName = "outside_user";
                                }
                        }
                        if(StringUtils.isNotBlank(tableName)){*/
                                        String sql = "SELECT ord.* " + " FROM "+tableName+" ord WHERE ord.UID =? and ord.PWD = ?";
                                        List<Object> obj=new ArrayList<Object>();
                                        obj.add(loginName);
                                        obj.add(loginPassword);
                                        Table table= DataUtils.queryData(conn, sql, obj, null, null, null);
                                        Collection<String> names = table.getColumnNames();
                                       
                                        List<Row> rows = table.getRows();
                                        for (Row row : rows){
                                                JSONObject person = new JSONObject();
                                                for (String name : names){
                                                        person.put(name, row.getValue(name));
                                                }
                                                result.put("p", JSON.toJSON(person));
                                                request.getSession().setAttribute("user", JSON.toJSON(person));
                                        }
                                        if (rows.size() == 1){
                                                result.put("flag",true);
                                        }else{
                                                result.put("flag",false);
                                                result.put("message","用户名密码错误");
                                        }
                        /*}else{
                                result.put("flag",false);
                                result.put("message","用户类型不能为空!");
                        }*/
                                        System.out.println(request.getSession().getAttribute("user"));

                        return result;
                }catch(Exception e){
                        e.printStackTrace();
                        result.put("flag",false);
                        result.put("message","网络错误,请联系管理员");
                }
                finally {
                        conn.close();
                }
                return result;
        }


方法设置了session,然后我在在登录之后,调用
justep.Baas.sendRequest({
                        "url" : "/author/userService",
                        "action" : "test",
                        "async" : false,
                        "params" : null,
                        "success" : function(r) {
                                if(!!r){
                                        user = r.user;
                                        alert(user);
                                }
                        }
                });


test方法的代码是

        public static JSONObject test(JSONObject params, ActionContext context) {
                JSONObject ret = new JSONObject();
                Object obj = null;
                try {
                        HttpServletRequest request = (HttpServletRequest)context.get(ActionContext.REQUEST);
                        obj = request.getSession().getAttribute("user");
                        if(obj != null){
                                ret.put("user", obj);
                        }else{
                                ret.put("user",null);
                        }
                } catch (Exception e) {
                        ret.put("user",null);
                }
                return ret;
        }


然后就报截图中的错误,但是我编译了好多次并重启了,直接访问在浏览器是没有错的,就是第三个截图中的返回了数据




20170904165055.jpg
20170904165208.jpg
20170904165333.jpg
发表于 2017-9-4 17:16:39 | 显示全部楼层
自己调试java 看下执行哪行代码报错的吧!
http://docs.wex5.com/wex5-studio-question-list-2001/
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

82

主题

211

帖子

647

积分

高级会员

Rank: 4

积分
647
QQ
 楼主| 发表于 2017-9-5 14:35:00 | 显示全部楼层
liangyongfei 发表于 2017-9-4 17:16
自己调试java 看下执行哪行代码报错的吧!
http://docs.wex5.com/wex5-studio-question-list-2001/ ...

真是答非所问
回复 支持 反对

使用道具 举报

发表于 2017-9-5 16:41:05 | 显示全部楼层
浏览器访问正常就说明 baas 运行没问题!
我发给你连接是想让你调试java代码!看下执行哪行代码报错的!是空指针错误  ,找下什么变了是空

是不是你js调用action 的时候  使用了
  "params" : null,
的原因呢??
如果没有参数!  不要写  "params" : null, 试试正常吗?
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-6 22:24 , Processed in 0.060072 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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