GAE上使用Struts2

來源:互聯網
上載者:User

Google App Engine for Java

這裡看GAE支援的java架構/技術/語言 列表

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

 

然後是讓Struts2運行在gae上的方法

這裡有2個相關資料

https://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.String)]
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;<br />import javax.servlet.ServletContextEvent;<br />import javax.servlet.ServletContextListener;<br />import javax.servlet.http.HttpSessionAttributeListener;<br />import javax.servlet.http.HttpSessionBindingEvent;<br />import javax.servlet.http.HttpSessionEvent;<br />import javax.servlet.http.HttpSessionListener;<br />import ognl.OgnlRuntime;<br />/**<br /> * 為了讓Struts2能在AppEngine上運行,因此要在web.xml中添加這個監聽 **<br /> */<br />public class InitListener implements ServletContextListener,<br /> HttpSessionListener, HttpSessionAttributeListener {<br /> public InitListener() {<br /> }<br /> public void contextInitialized(ServletContextEvent sce) {<br /> OgnlRuntime.setSecurityManager(null);<br /> }<br /> public void contextDestroyed(ServletContextEvent arg0) {<br /> // TODO Auto-generated method stub<br /> }<br /> public void sessionCreated(HttpSessionEvent arg0) {<br /> // TODO Auto-generated method stub<br /> }<br /> public void sessionDestroyed(HttpSessionEvent arg0) {<br /> // TODO Auto-generated method stub<br /> }<br /> public void attributeAdded(HttpSessionBindingEvent arg0) {<br /> // TODO Auto-generated method stub<br /> }<br /> public void attributeRemoved(HttpSessionBindingEvent arg0) {<br /> // TODO Auto-generated method stub<br /> }<br /> public void attributeReplaced(HttpSessionBindingEvent arg0) {<br /> // TODO Auto-generated method stub<br /> }<br />}

2.web.xm配置監聽器
<listener><br /> <listener-class>com.jun.util.listener.InitListener</listener-class><br /></listener>

此時再運行你的struts2項目就行了

 

 

原文連結: http://acheron.javaeye.com/blog/396567

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.