为了图省事,下了一个xampp1.7.
可我拿到的源程序是加密过的,所以还需要安装Zend Loader(就是原来的Zend Optimizer),可一直提示php5.dll无法找到,一通google之后才发现这里有个明白人的解释:
http://forums.zend.com/viewtopic.php?f=57&t=27748
现在正在下载xampp1.6,希望能解决这个问题吧.
做这个确实是费了老鼻子劲了,搜了半天网上都找不到一个靠谱的教程,最后其实还是看Notes的Info Center 完成的. 做完了看,其实也不是很难, 几个需要注意的地方:
- Import的时候不要用domoin,而要用notes
- 生成附件的时候用RitchText和embedObject. 我就是在这个上浪费了一天时间. ^_^
package com.ibm.mail;
import lotus.notes.*;
public class NotesJavaSample implements Runnable {
public static void main(String argv[]) {
NotesJavaSample t = new NotesJavaSample();
NotesThread nt = new NotesThread((Runnable) t);
nt.start();
}
public void run() {
try {
final String mymailserver = "mailserver";
final String mymailfile = "mail6/mymail.nsf";
Session s = Session.newInstance();
String p = s.getPlatform();
System.out.println("Platform = " + p);
Registration reg;
reg = s.createRegistration();
reg.switchToID ( "C:/notes/data/myid.id", "mypass" );
Database db;
db = s.getDatabase(mymailserver, mymailfile);
System.out.println("Database title is " + db.getTitle()
+ " and filepath is " + db.getFilePath());
Document mailmessage;
mailmessage = db.createDocument();
mailmessage.replaceItemValue("Form", "Memo");
mailmessage.replaceItemValue("Subject",
"Testing the Java interface,how should this work for attach");
mailmessage.replaceItemValue("SendTo",
"sendto@gamil.com");
RichTextItem rtitem = mailmessage.createRichTextItem("body");
rtitem.embedObject(EmbeddedObject.EMBED_ATTACHMENT,
null, "d:\\notes.txt", "notes.txt");
mailmessage.save();
mailmessage.send("sendto@gmail.com");
} catch (Exception e) {
e.printStackTrace();
}
}
}老规矩,问题和解决方法:
1. 如果struts2和spring一起用的时候,action类里面会有business dao,也会设置get/set方法,这时候如果result type是 json的话,就会有错误.解决方法有两个, 第一个是用@JSON,第二个是在struts.xml 里面用includeparameters.
第一种方法:
@JSON(serialize=false)
public CsectTcscoreService getBodao() {
return bodao;
}
public void setBodao(CsectTcscoreService bodao) {
this.bodao = bodao;
}
第二种方法:
<action name="TestAction" class="TestActionBean"> <result name="success" type="json"> <param name="includeProperties"> ^gridModel\[\d+\]\.\w+, rows, page, total, record </param> <param name="noCache">true</param> <param name="ignoreHierarchy">false</param> </result> </action>
2. 在定义Action类的时候一定要加public ,否则会报错,程序和错误如下.
class testAction extends ActionSupport public class testAction extends ActionSupport
java.lang.IllegalAccessException: Class com.opensymphony.xwork2.DefaultActionInvocation can not access a member of class com.ibm.zos.sanitybucket.testAction with modifiers "public"
3. 使用jquery-ui的时候一定要include对js的顺序,否则会死的很难看,jquery会不停的说undefined.....
<script src="js/i18n/grid.locale-en.js" type="text/javascript"></script> <script src="js/jquery.jqGrid.src.js" type="text/javascript"></script>
折腾了无数天之后,总算倒腾出来了,完全的例子还是要参照 mkyong, 但他所提到的library也不是很全. 我所有的library最后列表
antlr-2.7.7.jar asm-3.2.jar cglib-2.2.jar commons-collections-3.2.1.jar commons-fileupload-1.2.2.jar commons-io-2.0.1.jar commons-lang-2.5.jar commons-logging-1.1.1.jar db2jcc.jar db2jcc_license_cisuz.jar db2jcc_license_cu.jar dom4j-1.6.1.jar ejb3-persistence-1.0.2.GA.jar freemarker-2.3.18.jar hibernate-3.2.7.ga.jar javaee-api-6.0.jar javassist-3.11.0.GA.jar jboss-j2ee-4.2.2.GA.jar jboss-logging-3.1.0.CR2.jar ognl-3.0.3.jar spring-2.5.6.jar spring-struts-2.0.8.jar spring-web-2.5.6.jar struts2-core-2.3.1.jar struts2-jquery-grid-plugin-3.2.0.jar struts2-jquery-plugin-3.2.0.jar struts2-jquery-richtext-plugin-3.2.0.jar struts2-jquery-tree-plugin-3.2.0.jar struts2-json-plugin-2.3.1.jar struts2-spring-plugin-2.3.1.jar xwork-core-2.3.1.jar
考虑应该把maven改一下,然后建立一个自己的模板,这样以后建project就会很方便了. 很奇怪这样迫切的需求maven都没有吗?
Unix下的哲学是keep it simple, keep it stupid.可到了j2ee里面就是keep it complex, keep it smart. 于是我就彻底晕菜了.
最后能活着把spring和struts整合到一起全凭这两个网站:
- http://www.findjar.com/ 什么时候报classnotdefine了,第一反应是上这里找应该是在那个jar包里的
- http://search.maven.org/ 找到jar包之后咋办呢? 上这个网站搜吧,其实主要是确定version信息,
- 找到之后加到随便一个pom.xml里,然后mvn compile就下载到M2_RESP下了
- copy到WEB_INF/lib下,然后eclipse里F5,restart server
- 搞定
我目前为止的pom.xml里关于spring的是这个样子的.
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>3.1.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-hibernate3</artifactId>
<version>2.0.8</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>3.1.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>3.1.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>3.1.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-asm</artifactId>
<version>3.1.0.RELEASE</version>
</dependency>
下面就开始整合spring和hibernate,j2ee对我来说还真是痛苦.
不用不知道,现在的东西真是多呀. 记录一下折腾这些东西的过程
Eclipse
hibernate
spring
struts
jquery
css/html
maven
所有的东西一个一个捣腾过来,还真是累的吐血,不过学些新东西总是好的.
- 第一步就是安装maven, 本来以为要装eclipse插件才可以用的,后来看到 这个 教程才明白是怎么回事, 说白了不就是Makefile吗,搞java的人还真是啥也要别出心裁弄套新东西,不过这个貌似高级了一些.
有了maven之后就很简单了,先建一个简单的 pom.xml, 我是按照 hibernate的指导新建的文件, 可以看这里 , 但这里有个问题, 主要是没有写version, 可以参考这个讨论, 否则就会提示version不存在 等等, 所以最后我的pom.xml 是下面这个样子,这样就保留了hibernate,spring.
需要记录一下的是这个网站,可以找maven所有的package. 看起来很不错
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.hibernate.tutorials</groupId>
<artifactId>hibernate-tutorial</artifactId>
<version>1.0.0-SNAPSHOT</version>
<name>First Hibernate Tutorial</name>
<build>
<!-- we dont want the version to be part of the generated war file name -->
<finalName>${artifactId}</finalName>
</build>
<dependencies>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>4.0.0.Final</version>
</dependency>
<!-- Because this is a web app, we also have a dependency on the servlet api. -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.3</version>
</dependency>
<!-- Hibernate uses slf4j for logging, for our purposes here use the simple backend -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.5.8</version>
</dependency>
<!-- Hibernate gives you a choice of bytecode providers between cglib and javassist -->
<dependency>
<groupId>javassist</groupId>
<artifactId>javassist</artifactId>
<version>3.8.0.GA</version>
</dependency>
<dependency>
<groupId>hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<version>1.8.0.7</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>3.1.0.RELEASE</version>
</dependency>
</dependencies>
</project>
- 下一步就是整合maven 和 eclipse,这个可以通过各种plugin来实现,但目前看来用处并不是很大
