GAE上使用Struts2

Google App Engine for Java

这里看GAE支持的java框架/技术/语言 列表

http://groups.google.com/group/google-appengine-java/web/will-it-play-in-app-engine

 

然后是让Struts2运行在gae上的方法

这里有2个相关资料

 http://groups.google.com/group/google-appengine-java/browse_thread/thread/19018b0317f27817/ec19c458bb15413b?lnk=gst&q=struts2#ec19c458bb15413b

 

http://www.nabble.com/Google-App-Engine-support--td22972179.html

 

只看下文也可以

使用Struts2时候报异常

WARNING: Caught OgnlException while setting property 'location' on type
'org.apache.struts2.dispatcher.ServletDispatcherResult'.
java.lang.IllegalAccessException: Method [public void
org.apache.struts2.dispatcher.StrutsResultSupport.setLocation(java.lang.Str­ing)]
cannot be accessed.
   at ognl.OgnlRuntime.invokeMethod(OgnlRuntime.java:508)
   at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:812)

 

SEVERE: ParametersInterceptor - [setParameters]: Unexpected Exception
caught setting 'name' on 'class com.ociweb.gaestruts2.HelloAction: Error
setting expression 'name' with value '[Ljava.lang.String;@24de7d'

 

解决方法:

1. 建class如下

package com.jun.util.listener;

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.http.HttpSessionAttributeListener;
import javax.servlet.http.HttpSessionBindingEvent;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;

import ognl.OgnlRuntime;

/**
 * 为了让Struts2能在AppEngine上运行,因此要在web.xml中添加这个监听 **
 */
public class InitListener implements ServletContextListener,
		HttpSessionListener, HttpSessionAttributeListener {

	public InitListener() {
	}

	public void contextInitialized(ServletContextEvent sce) {
		OgnlRuntime.setSecurityManager(null);
	}

	public void contextDestroyed(ServletContextEvent arg0) {
		// TODO Auto-generated method stub
	}

	public void sessionCreated(HttpSessionEvent arg0) {
		// TODO Auto-generated method stub
	}

	public void sessionDestroyed(HttpSessionEvent arg0) {
		// TODO Auto-generated method stub
	}

	public void attributeAdded(HttpSessionBindingEvent arg0) {
		// TODO Auto-generated method stub
	}

	public void attributeRemoved(HttpSessionBindingEvent arg0) {
		// TODO Auto-generated method stub
	}

	public void attributeReplaced(HttpSessionBindingEvent arg0) {
		// TODO Auto-generated method stub
	}

}

 

 

2.web.xm配置监听器

<listener>
         <listener-class>com.jun.util.listener.InitListener</listener-class> 
</listener> 

 

此时再运行你的struts2项目就行了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值