如果在java使用多了,想在domino实现些功能,比如文件上传、集成ERP、SAP、HR、MES等系统,除了java代理以外,还可以使用Servlet实现,这样方便的结合ajax实现非常多的功能。
由于需要,在Louts Domino使用servlet,所以经过学习验证,以下内容已经正常使用。希望对有需要你有所帮助
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import lotus.domino.NotesException;
import lotus.domino.NotesFactory;
import lotus.domino.NotesThread;
import lotus.domino.Session;
public class test extends HttpServlet {
/**
* JSON字符串特殊字符处理,比如:“\A1;1300”
* @param s
* @return String
*/
public String string2Json(String s) {
StringBuffer sb = new StringBuffer();
for (int i=0; i<s.length(); i++) {
char c = s.charAt(i);
switch (c){
case '\"':
sb.append("\\\"");
break;
case '\\':
sb.append("\\\\");
break;
case '/':
sb.append("\\/");
break;
case '\b':
sb.append("\\b");
break;
case '\f':
sb.append("\\f");
break;
case '\n':
sb.append("\\n");
break;
case '\r':
sb.append("\\r");
break;
case '\t':
sb.append("\\t");
break;
default:
sb.append(c);
}
}
return sb.toString();
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html; charset=UTF-8");
PrintWriter out = response.getWriter();
out.println("{\"path\":\""+gethj()+"\"");
out.flush();
out.close();
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
public String gethj(){
try {
//创建NotesThread对象
NotesThread.sinitThread();
//创建新会话对象
Session session = NotesFactory.createSession();
String temp= session.getEnvironmentString("Directory", true);
session.recycle();
return temp;
} catch (NotesException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("操作异常");
System.out.println(e.toString());
return "";
}
finally
{
NotesThread.stermThread();
}
}
}