使用环境,JDK1.6,TOMCAT6 ,struts2使用中也是报下面的错误,所以我将JDK降至1.4,并使用struts1.3,依然报错,以下为JDK1.4,struts1.3搭建的
在main方法中直接执行
TestBiz t=new TestBiz();
t.Testa(2);
成功
action里面也是
TestBiz t=new TestBiz();
t.Testa(2);
失败
控制台错误代码
严重: Servlet.service() for servlet action threw exception
java.lang.ClassNotFoundException: javax.resource.ResourceException
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1358)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
at com.cn.biz.SeendLogin.sm(SeendLogin.java:27)
at com.cn.biz.TestBiz.Testa(TestBiz.java:7)
at com.yourcompany.struts.action.LoginAction.execute(LoginAction.java:48)
at org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58)
at org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67)
at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
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: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.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
2012-2-20 10:39:17 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet action threw exception
java.lang.ClassNotFoundException: javax.resource.ResourceException
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1358)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
at com.cn.biz.SeendLogin.sm(SeendLogin.java:27)
at com.cn.biz.TestBiz.Testa(TestBiz.java:7)
at com.yourcompany.struts.action.LoginAction.execute(LoginAction.java:48)
at org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58)
at org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67)
at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
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: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.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
页面错误代码
HTTP Status 500 -
--------------------------------------------------------------------------------
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: Servlet execution threw an exception
root cause
java.lang.NoClassDefFoundError: javax/resource/ResourceException
com.cn.biz.SeendLogin.sm(SeendLogin.java:27)
com.cn.biz.TestBiz.Testa(TestBiz.java:7)
com.yourcompany.struts.action.LoginAction.execute(LoginAction.java:48)
org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58)
org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67)
org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause
java.lang.ClassNotFoundException: javax.resource.ResourceException
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1358)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204)
java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
com.cn.biz.SeendLogin.sm(SeendLogin.java:27)
com.cn.biz.TestBiz.Testa(TestBiz.java:7)
com.yourcompany.struts.action.LoginAction.execute(LoginAction.java:48)
org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58)
org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67)
org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.13 logs.
--------------------------------------------------------------------------------
Apache Tomcat/6.0.13
具体实现代码
package com.cn.biz;
import it.sauronsoftware.base64.Base64;
import com.cn.util.FromatGetMessage;
import com.ibm.mq.MQC;
import com.ibm.mq.MQEnvironment;
import com.ibm.mq.MQGetMessageOptions;
import com.ibm.mq.MQMessage;
import com.ibm.mq.MQPutMessageOptions;
import com.ibm.mq.MQQueue;
import com.ibm.mq.MQQueueManager;
public class SeendLogin {
private static String hostname="192.168.1.124";
private static String channel="CONN";
private static int port=1414;
private static int CCSID=1381;
public static int sm(int id) {
int re = 0;
MQEnvironment.hostname = hostname;
MQEnvironment.channel = channel; // 通道
MQEnvironment.port = port; // 端口
MQEnvironment.CCSID = CCSID; // 字符集
try {
MQQueueManager qMgr = new MQQueueManager("MQ_hc"); // 队列管理器
int openOptions = MQC.MQOO_INPUT_AS_Q_DEF | MQC.MQOO_OUTPUT
| MQC.MQOO_INQUIRE;
MQQueue queue = qMgr.accessQueue("in", openOptions); // 队列名称
MQMessage retrieve = new MQMessage();
MQPutMessageOptions pmo = new MQPutMessageOptions();// 放入消息
MQGetMessageOptions gmo = new MQGetMessageOptions();// 读取消息
// String message=retrieve.readStringOfCharLength(32000).trim();
gmo.options = gmo.options + MQC.MQGMO_SYNCPOINT;// Get messages
// under sync point
// control(在同步点控制下获取消息)
gmo.options = gmo.options + MQC.MQGMO_WAIT; // Wait if no messages
// on the
// Queue(如果在队列上没有消息则等待)
gmo.options = gmo.options + MQC.MQGMO_FAIL_IF_QUIESCING;// Fail if
// Qeue
// Manager
// Quiescing(如果队列管理器停顿则失败)
gmo.waitInterval = 1000; // Sets the time limit for the
// wait.(设置等待的毫秒时间限制)
/* 发送消息 */
String seend = ""
+ id + "";
retrieve.writeString(seend);
queue.put(retrieve, pmo);
/* 发送消息 */
queue.close();
qMgr.disconnect();
System.out.println("成功发送消息:"+seend+"到mq队列");
re = 1;
} catch (Exception e) {
System.out.println("错误:" + e.getMessage());
re = 0;
}
return re;
}
public static String gm() {
MQEnvironment.hostname = hostname;
MQEnvironment.channel = channel; // 通道
MQEnvironment.port = port; // 端口
MQEnvironment.CCSID = CCSID; // 字符集
try {
MQQueueManager qMgr = new MQQueueManager("MQ_hc"); // 队列管理器
int openOptions = MQC.MQOO_INPUT_AS_Q_DEF | MQC.MQOO_OUTPUT
| MQC.MQOO_INQUIRE;
MQQueue queue = qMgr.accessQueue("out", openOptions); // 队列名称
MQMessage retrieve = new MQMessage();
MQPutMessageOptions pmo = new MQPutMessageOptions();// 放入消息
MQGetMessageOptions gmo = new MQGetMessageOptions();// 读取消息
// String message=retrieve.readStringOfCharLength(32000).trim();
gmo.options = gmo.options + MQC.MQGMO_SYNCPOINT;// Get messages
// under sync point
// control(在同步点控制下获取消息)
gmo.options = gmo.options + MQC.MQGMO_WAIT; // Wait if no messages
// on the
// Queue(如果在队列上没有消息则等待)
gmo.options = gmo.options + MQC.MQGMO_FAIL_IF_QUIESCING;// Fail if
// Qeue
// Manager
// Quiescing(如果队列管理器停顿则失败)
gmo.waitInterval = 1000; // Sets the time limit for the
// wait.(设置等待的毫秒时间限制)
/* 获取消息 */
queue.get(retrieve, gmo);
String message = retrieve.readLine();
System.out.println("获得加密消息为: " + message);
FromatGetMessage util=new FromatGetMessage();
message =util.FmatString(message);//格式化消息
System.out.println("解密获得消息为: " + Base64.decode(message, "UTF-8"));//解密消息
/* 获取消息 */
queue.close();
qMgr.disconnect();
} catch (Exception e) {
System.out.println("错误:" + e.getMessage());
}
return "获取成功";
}
}
如有高手能解决 ,感激不尽,我的QQ306955302,如果能直接联系我和我交流下也好,谢谢