Struts2,Spring,Struts2 JSON-plugin,JQueryAJAX on GAE
来源:互联网 发布:浏览器不能打开淘宝网 编辑:程序博客网 时间:2024/06/05 06:18
建了第一个应用,简单了解了在gae上开发应用程序的一般规则,开发个有意思的应用就打算用框架开发,用单纯的servlet开发文件多了就难以管理了而且效率会很底,决定用框架,在网上看到这几篇文章一般都是用Struts +Spring,也看到过用pay这个框架的,有兴趣的可以上这个网站去看一下http://www.playframework.org/ , 以下就是转载的。
流行的SSH组合没有顺利落户GAE/J,不过没有关系,只是将Hibernate替换为JPA,其实大多数人在开发Hibernate也使用JPA的annotation,不会有多大影响。Struts 2.1 + Spring 2.5+ JPA,这样的配合很重,但是可扩展性比较强,而已是经典配合啦,没有什么可以说道的。这三者配合需要注意以下事项:
1 Struts 2.1,需要修正OGNL的安全检查问题
2 Spring,不要使用spring-all-in-one jar,主要是javax.naming等问题
3 JPA,目前使用JpaDaoSupport和JpaTemplate还有点小问题,最好不使用DaoSupport,改为手工创建JpaTemplate,同时考虑一下事务方面,这些就没有什么问题啦。
下面是实现
1. Struts2 in GAE
请查看我之前的日志《GAE上使用Struts2》
2.Struts2 JSON-plugin
登陆http://code.google.com/p/jsonplugin/downloads/list
下载jsonplugin的jar,这里使用版本是jsonplugin-0.32.jar,最新版本0.33,
以前见过0.7版本的,那个是旧版,不知道为什么版本号后来变成0.3,
而0.7版本兼容性不好,尤其对中文,会出现中文截断的问题,不要再用了.
json-lib是另一个ajax+ json解决方案,
采用jquery这个框架,用jsonplugin就可以了,不用担心类似ext的兼容性问题,
之前搞ext项目其实也比较好处理的,jsonplugin非常好用,简化代码.
这里Struts.xml有所改变
<package name="json" extends="json-default">
3. Struts2 Spring2整合
一般应用导入struts2-spring-plugin-2.0.11.2.jar和spring.jar就可以
对于GAE,直接用spring.jar会报异常
根据需要,我们使用以下的jar
目前Struts2的稳定版本是2.1.6,将下面的来自Struts-2.1.6的发行包的几个包,引入你的GAE项目工程中:
- commons-fileupload-1.2.1.jar
- commons-io-1.3.2.jar
- commons-logging-1.0.4.jar
- commons-logging-api-1.1.jar
- freemarker-2.3.13.jar
- ognl-2.6.11.jar
- struts2-core-2.1.6.jar
- xwork-2.1.2.jar
配置struts.objectFactory属性值。
在struts.properties中设置struts.objectFactory属性值
<constant name="struts.objectFactory" value="spring"/>
配置Spring监听器。在web.xml文件中增加如下内容
<listener> <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class> </listener>
Spring配置文件。默认情况下,Spring配置文件为applicationContext.xml,该文件需要保存在Web应用的WEB-INF目录下。
而这里为方便管理配置web.xml加入如下代码,从而使Spring的ApplicationContext通过匹配所给定模式的文件来初始化对象:
<context-param> <param-name>contextConfigLocation</param-name> <param-value> classpath*:com/jun/conf/spring/applicationContext-*.xml </param-value> </context-param>
之后遇到javax.xml.parsers.FactoryConfigurationError: Provider org.apache.xerces.jaxp.SAXParserFactoryImpl not found 这样的错误,我用的是jdk 1.5的,换成1.6的就好了。
java.lang.NoClassDefFoundError: org/apache/xml/serializer/TreeWalker
把项目先备份删除了再重新建一个,不要多引入一个jar.否则会报错。
java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory 加入commons-logging-api-1.1.jar
javax.xml.transform.TransformerFactoryConfigurationError: Provider org.apache.xalan.processor.TransformerFactoryImpl not found
导入下列包serializer.jar、xalan.jar、xercesImpl.jar和xml-apis.jar。
可到网上查一下,都有下载的,欢迎大家访问我的网站,现在还没做好http://webmnrs.appspot.com/
要注意一下版本问题:struts 2.1与1.0有很大的不同
- Struts2,Spring,Struts2 JSON-plugin,JQueryAJAX on GAE
- Gae-struts2-spring-tile-starter
- struts2-json-plugin 使用
- struts2-json-plugin使用
- struts2-json-plugin
- struts2-json-plugin 使用
- struts2-spring-plugin
- struts2-spring-plugin.jar
- struts2-spring-plugin.jar
- struts2 spring plugin
- 使用 Struts2 JSON plugin ( Struts2 + jQuery )
- 使用 Struts2 JSON plugin ( Struts2 + jQuery )
- struts2的 struts2-json-plugin.jar使用方法
- Struts2,AJAX,json-plugin使用
- Struts2 json plugin实战1
- Struts2 json plugin实战2
- struts2-json-plugin中文手册
- Struts2-Json-Plugin 的使用
- linux-2.6.32.2移植到s3c2410 之一--------使系统跑起来
- 数据库初始化迁移工作日记之一
- Struts+Spring+Hibernate jar包
- 水晶报表之winform 数据绑定
- mysql数据库优化设置
- Struts2,Spring,Struts2 JSON-plugin,JQueryAJAX on GAE
- PHP实现页面跳转代码集锦
- SQL Server数据库开发的二十一条军规
- SQL操作全集
- ANSI C读书笔记系列之字符集篇----第三章 字符集和编码(II Unicode编码)
- spring事务处理
- linux学习笔记
- 在ubuntu 9.10下安装stardict字典
- USB初步