JSONObject json = new JSONObject()错误
- Java code
public class LoginAction extends ActionSupport { private String username; private String password; private UserService userService; private javax.servlet.http.HttpServletResponse response; // 获得HttpServletResponse对象 public void setServletResponse(HttpServletResponse response){ this.response = response; } public UserService getUserService() { return userService; } public void setUserService(UserService userService) { this.userService = userService; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String execute()throws JSONException, IOException,Exception { Users user=userService.find(username, password); if(user!=null){ Map session =(Map)ActionContext.getContext().getSession(); session.put("user",user); JSONObject json = new JSONObject();//这里错了,怎么解决? json.put("loginOK", true); json.put("success", true); response.getWriter().print(json); return null; }else return "fail"; }}
严重: Servlet.service() for servlet default threw exception
java.lang.NoClassDefFoundError: org/json/JSONException
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2427)
at java.lang.Class.getDeclaredMethods(Class.java:1791)
at com.zeroturnaround.javarebel.lR.makeClassDeclaredMethodCache(JRebel:229)
at com.zeroturnaround.javarebel.lR.getClassDeclaredMethodCache(JRebel:158)
at com.zeroturnaround.javarebel.lR.getDeclaredMethods(JRebel:456)
at java.lang.Class.getDeclaredMethods(Class.java:1791)
at ognl.OgnlRuntime.getDeclaredMethods(OgnlRuntime.java:1719)
at ognl.OgnlRuntime.getSetMethod(OgnlRuntime.java:1814)
at ognl.OgnlRuntime.hasSetMethod(OgnlRuntime.java:1836)
at ognl.OgnlRuntime.hasSetProperty(OgnlRuntime.java:1854)
at com.opensymphony.xwork2.ognl.accessor.CompoundRootAccessor.setProperty(CompoundRootAccessor.java:64)
at ognl.OgnlRuntime.setProperty(OgnlRuntime.java:2225)
at ognl.ASTProperty.setValueBody(ASTProperty.java:127)
at ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:220)
at ognl.SimpleNode.setValue(SimpleNode.java:301)
at ognl.Ognl.setValue(Ognl.java:737)
at com.opensymphony.xwork2.ognl.OgnlUtil.setValue(OgnlUtil.java:198)
at com.opensymphony.xwork2.ognl.OgnlValueStack.setValue(OgnlValueStack.java:161)
at com.opensymphony.xwork2.ognl.OgnlValueStack.setValue(OgnlValueStack.java:149)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.setParameters(ParametersInterceptor.java:276)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:187)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:179)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:235)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:89)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:130)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:126)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:138)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:165)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:179)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:488)
at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)
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:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:852)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:584)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1508)
at java.lang.Thread.run(Thread.java:619)
http://topic.csdn.net/u/20100524/13/d179141a-cf13-4420-afe0-f3d4d99c9131.html?seed=1516920397&r=65683263
[解决办法]
org/json/JSONException
这个类的jar包没找到啊
[解决办法]
是不是运行环境没有放json的jar包?
你在web-inf/lib下放个jar包试下
[解决办法]
Map param = new HashMap();
param.put("loginOK", true);
param.put("success", true);
JSONObject json = JSONObject.fromObject(param);
[解决办法]
[解决办法]
你报错的stacktrace好像和你认为错误的地方不一致
[解决办法]
- Java code
基于json-lib.jar包Json实例程序1.从头或者从零开始,创建一个JSONObject(Creating a JSONObject from scratch)实例1: JSONObject jsonObject = new JSONObject(); jsonObject.element("name", "周星星"); jsonObject.element("sex", "male"); jsonObject.element("age", 18); jsonObject.element("job", "student"); System.out.println(jsonObject.get("name"));// 周星星 System.out.println(jsonObject.get("job"));// student System.out.println(jsonObject.getString("sex"));// male System.out.println(jsonObject.getInt("age"));// 18实例2: JSONObject jsonObject = new JSONObject().element("string", "JSON").element("integer", "1").element("double", "2.0").element("boolean", "true"); assertEquals("JSON", jsonObject.getString("string")); assertEquals(1, jsonObject.getInt("integer")); assertEquals(2.0d, jsonObject.getDouble("double"), 0d); assertTrue(jsonObject.getBoolean("boolean")); 注:这是对实例1的一个简化版 2.使用一个JSON格式化字符串来创建一个JSONObject(Creating a JSONObject from a JSON formatted string) 实例1: String json = "{name:\"周星星\",sex:\"male\",age:18,job:\"student\"}"; JSONObject jsonObject = JSONObject.fromObject(json); //或者使用 JSONObject jsonObject = (JSONObject) JSONSerializer.toJSON(json); System.out.println(jsonObject.get("name"));// 周星星 System.out.println(jsonObject.get("job"));// student System.out.println(jsonObject.getString("sex"));// male System.out.println(jsonObject.getInt("age"));// 18实例2: String str = "{'string':'JSON', 'integer': 1, 'double': 2.0, 'boolean': true}"; JSONObject jsonObject = (JSONObject) JSONSerializer.toJSON(str); assertEquals("JSON", jsonObject.getString("string")); assertEquals(1, jsonObject.getInt("integer")); assertEquals(2.0d, jsonObject.getDouble("double"), 0d); assertTrue(jsonObject.getBoolean("boolean")); 3.使用一个Map来创建一个JSONObject(Creating a JSONObject from a Map)实例1: Map map = new HashMap(); map.put( "string", "JSON" ); map.put( "integer", "1" ); map.put( "double", "2.0" ); map.put( "boolean", "true" ); JSONObject jsonObject = (JSONObject) JSONSerializer.toJSON( map ); assertEquals( "JSON", jsonObject.getString("string") ); assertEquals( 1, jsonObject.getInt("integer") ); assertEquals( 2.0d, jsonObject.getDouble("double"), 0d ); assertTrue( jsonObject.getBoolean("boolean") ); 4.使用一个JavaBean来创建一个JSONObject(Creating a JSONObject from a JavaBean)实例1:public class Mybean { private String string; private int integer; private double dooble; private boolean bool; // getters & setters}Mybean bean = new Mybean();bean.setString("JSON");bean.setInteger(1);bean.setDooble(2.0d);bean.setBool(true);JSONObject jsonObject = (JSONObject) JSONSerializer.toJSON(bean);assertEquals("JSON", jsonObject.getString("string"));assertEquals(1, jsonObject.getInt("integer"));assertEquals(2.0d, jsonObject.getDouble("dooble"), 0d);assertTrue(jsonObject.getBoolean("bool"));
[解决办法]
java.lang.NoClassDefFoundError: org/json/JSONException
找不到类嘛. LZ做Struts2的时候是否已经添加Struts2-json-plugin.jar?
没有加是肯定报错的