`
qiaoqinqie
  • 浏览: 60068 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Google app Engine 对struts2.1.8的不完全支持

    博客分类:
  • Java
阅读更多

忙碌了5天,总算把个人博客给建成了,期间学到了很多东西,整个系统是基于 Google app Engine for Java的,现在好像还不是正式版。

 

所 以很多jar包都不支持,本来想用的很多技术 都用不了了。呵呵。下面把问题给罗列出来,以便以后有据可查

(1) :struts2的支持

是可以支持的,但是需要另外的做一些动作,添加如下的监听 器

 

 

package com.util;

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;

public class InitListener  implements ServletContextListener,
HttpSessionAttributeListener,HttpSessionListener{

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

    @Override
    public void contextInitialized(ServletContextEvent arg0) {
        OgnlRuntime.setSecurityManager(null);
        
    }

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

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

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

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

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

}

 

然后在web.xml文件中添加这个监听器

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

网上很多文章,就是这样子说的,我也是照做的,然后就添加 struts2所必需的jar包,不过在这里有一点要注意

我是用myeclipse8.0做的开发,是用的 Google的那个插件,生成的项目,网站根目录的名字是war,当把jar包放在lib目录下的时候

他并不能自动的添加到项目里头,所以还要手工点击增加额外 jar包的方式添加进去,这里也有一点要注意的,就是struts的配置

文件

<!-- 当struts的配置文件修改后,系统是否自动重新加载该文件,默认值为false(生产环境下使用),开发阶段最好打开 -->
    <constant name="struts.configuration.xml.reload" value="false" />
    <!-- 开发模式下使用,这样可以打印出更详细的错误信息 -->
    <constant name="struts.devMode" value="false" />

这2个都要关闭,不然会报异常的,报的是包读取权限异常,小弟不才,也不知道是什么原因造成的。

最后 要检查web.xml  他有时候会自动增加一个jsp:config 里面是BASIC 这个要去掉 不然项目无法启动

(2) strut2的补充。

当启动的时候,会发现缺少一些xalan的jar包,这个时候要的jar包添加到项目里面。下载xalan-j_2_7 把解压开的目录中的jar包都加进去

ok 这个时候项目启动成功了

(3)struts2的标签

经测试,一些标签使用是会报异常的 ,原因是使用了现在不在白名单中的jar包。

目前发现下面是标签是不能用的

<s:textfield>,<s:a>

可能还有更多把,不过我目前就发现这几个

(3) 其他标签库

有一个地方要用到迭代遍历出list的元素,在做一个更新功能 需要连接把参数传过去 发现<s:a>不能用 恼火啊

于是就想想用jstl标签。但是默认的web.xml版本是2.3的 而且默认没有jstl.jar包 把jar包加进去

写<c:foreach> 又报异常了,还是那个兼容性问题。

于是上网找其他的标签。最后发现display标签能够完美支持,呵呵 好 不错 就用你了

(4)一点教训

做个人博客,对struts2 以前就是了解了一点,做过比较小的项目。那个ognl 拦截器的 都不懂,这个项目也只是用action来转发。

但是到后期快完成时候,哈哈,发现很多问题,每个页面都是经过action转发的,自己输入地址栏的方式都访问不了页面了啊。很多地方都是bug ,忙碌几天,也累了,先休息下,至少现在可以展示个人文章了。在找个时间来好好的重整这个bug

 

博客主页:http://rmh2010blog.appspot.com/

分享到:
评论

相关推荐

    最新struts2.1.8 src and lib

    最新struts2.1.8 src and lib最新struts2.1.8 src and lib最新struts2.1.8 src and lib最新struts2.1.8 src and lib最新struts2.1.8 src and lib最新struts2.1.8 src and lib最新struts2.1.8 src and lib

    struts 2.1.8 jar包

    struts 2.1.8 jar包 struts 2.1.8 jar包 struts 2.1.8 jar包 struts 2.1.8 jar包 struts 2.1.8 jar包 struts 2.1.8 jar包 struts 2.1.8 jar包

    struts2.1.8_jar包

    Struts2.1.8_jar包是针对Java Web开发的一款关键框架——Struts2的特定版本库。这个包包含了开发基于Struts2框架的应用所需的核心组件和其他依赖库,为开发者提供了一整套用于构建MVC(Model-View-Controller)架构...

    struts2.1.8

    6. **插件(Plugins)**:Struts2.1.8版本引入了一些插件,如Freemarker和Velocity模板引擎支持,以及对Ajax的集成,这使得开发者可以选择不同的视图技术。 7. **Action的返回值**:Action的execute方法可以返回一...

    开发框架struts2.1.8.zip

    在Struts 2.1.8中,Action类支持注解,这使得配置文件更加简洁,代码更易于理解和维护。开发者可以使用注解来指定Action的执行方法、结果映射和其他配置属性,如`@Action`和`@Result`。 其次,Struts 2的拦截器...

    struts 2.1.8 jar 完整开发

    commons-fileupload-1.2.1 commons-io-1.3.2 freemarker-2.3.15 ognl-2.7.3 struts2-json-plugin-2.1.8.1 struts2-embeddedjsp-plugin-2.1.8.1 struts2-core-2.1.8.1 ...struts2-spring-plugin-2.1.8.jar

    Struts2.1.8所依赖的主要包

    5. **struts2-dojo-plugin.jar**:这是一个插件,提供了对Dojo JavaScript库的支持,用于创建富客户端Web应用。它提供了许多与Dojo相关的标签库,便于在Struts2应用中集成Dojo组件。 6. **struts2-json-plugin.jar*...

    struts2.1.8jar包 精简版

    Struts2.1.8是Apache Struts框架的一个版本,这是一个流行且强大的Java Web应用程序开发框架,用于构建基于MVC(Model-View-Controller)设计模式的Web应用。该框架的目标是提供一个结构化和可扩展的方式来管理Java ...

    struts2.1.8学习笔记

    8. **国际化(Internationalization, i18n)**:Struts2提供了对多语言的支持,开发者可以通过资源文件管理不同语言的文本信息。 9. **异常处理**:Struts2允许自定义全局和Action级别的异常处理策略,方便统一处理...

    struts2.1.8 最新api chm 支持索引

    struts2.1.8 api 最新 支持索引 很好用 chm

    struts2.1.8插件及学习文档

    Struts2.1.8是Apache Struts框架的一个版本,它是基于MVC(Model-View-Controller)设计模式的Java Web应用开发框架。Struts2提供了丰富的特性,使得开发者能够更高效地构建动态、交互式的Web应用。在这个“struts...

    struts2.1.8+spring2.5.6

    Struts2.1.8版本包含了对Ajax的支持,以及与各种视图技术(如JSP、FreeMarker、 Velocity)的集成,使得开发者能够构建动态、交互性强的Web应用。 **Spring2.5.6** Spring框架以其轻量级、非侵入式的设计理念深受...

    struts2.1.8的包

    Struts2.1.8是Apache Struts框架的一个版本,它是基于MVC(Model-View-Controller)设计模式的开源Java Web应用框架。这个版本包含了与Spring、JSF(JavaServer Faces)、JFreeChart等其他技术的集成和支持,使得...

    struts2.1.8.jar(全部jar包及api)

    Struts2.1.8是Apache Struts框架的一个版本,它是Java EE平台上的一款流行MVC(Model-View-Controller)框架,用于构建企业级Web应用程序。这个版本的Struts提供了许多功能,帮助开发者实现可扩展性和灵活性。让我们...

    struts2.jar包(struts2.1.8.jar包)三号文件(太大总共分三次)

    描述中的“struts2.jar包struts2.1.jar包struts2.1.8.jar包”可能是在强调Struts2的不同版本,其中“struts2.1.jar”可能是对Struts2 2.1.x系列的泛指,而“struts2.1.8.jar”则是具体的版本号。每个版本都有其特性...

    Java代码生成工具 绿色版_生成Struts2.1.8,Spring2.5,Hibernate3代码

    Java代码生成工具是一种高效开发辅助软件,主要用于自动化生成基于Java技术栈的Web应用...然而,值得注意的是,虽然工具能提高开发效率,但生成的代码可能需要根据具体业务需求进行调整和完善,不能完全替代人工编码。

    struts2.1.8 struts2源码 Eclipse关联这个可以

    版本2.1.8是Struts2的一个历史版本,它提供了许多功能和改进,旨在简化MVC(Model-View-Controller)架构的实现,提高开发效率。在这个版本中,开发者能够利用Action、拦截器(Interceptors)、结果类型(Result ...

    Struts 2.1.8_学习源码

    Struts 2.1.8 学习源码内容 Struts2_01FirstDemo : 跑通第一个Struts2的实例 Struts2_02CURD : 关于Struts2的增、删、改和查 实际业务中数据来自数据库,从DAO层查询,本实例使用静态资源的方式模拟, 主要是关于...

Global site tag (gtag.js) - Google Analytics