📄 dominoplugservlet.java
字号:
package weblogic.thirdparty.domino;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import java.net.URL;
import java.net.URLConnection;
import java.net.HttpURLConnection;
public class DominoPlugServlet
extends HttpServlet {
private static final String CONTENT_TYPE = "text/html; charset=GBK";
private Properties config = null;
//Initialize global variables
public void init() throws ServletException {
}
public void service(HttpServletRequest req, HttpServletResponse res) throws
IOException {
if (config == null) {
config = getConfig();
if (config == null) {
PrintWriter writer = res.getWriter();
writer.print(getErrorPage());
writer.close();
return;
}
}
String toDo = req.getParameter("todo");
if (toDo.equalsIgnoreCase("Login")) {
login(req, res);
}
else if (toDo.equalsIgnoreCase("Logout")) {
logout(req,res);
}
}
public void login(HttpServletRequest req, HttpServletResponse res) throws
IOException {
String username = req.getParameter("j_username");
String password = req.getParameter("j_password");
String nsfFile = req.getParameter("nsf_file");
if(nsfFile == null || nsfFile.length() == 0)
nsfFile = "/names.nsf";
String weblogicIp = config.getProperty("weblogic_ip");
String weblogicPort = config.getProperty("weblogic_port");
String weblogicLogin = config.getProperty("weblogic_login");
String loginForward = config.getProperty("domino_login_forward");
String weblogicUrl = "http://" + weblogicIp + ":" + weblogicPort
+ weblogicLogin + "?action=domino&username=" + username + "&password="
+ password;
URL weblogic = new URL(weblogicUrl);
BufferedReader in = new BufferedReader(
new InputStreamReader(
weblogic.openStream()));
String ret = in.readLine();
in.close();
if(ret.equals("1")){
res.getWriter().print(getLoginFailedPage());
res.getWriter().close();
return;
}
String dominoUrl = nsfFile + "?Login&Username=" + username + "&Password="
+ password + "&RedirectTo=";
if(loginForward == null || loginForward.length() == 0){
dominoUrl += nsfFile;
}else
dominoUrl += loginForward;
StringBuffer sb = new StringBuffer();
sb.append("<frameset rows='0,*'>");
sb.append("<frame name='header' scrolling='no' noresize src='" + weblogicUrl + "'>");
sb.append("<frame name='main' src='" + dominoUrl + "'>");
sb.append("</frameset>");
PrintWriter writer = res.getWriter();
writer.print(sb.toString());
writer.close();
//HttpSession session = req.getSession();
// session.setAttribute("username",username);
}
public void logout(HttpServletRequest req, HttpServletResponse res) throws
IOException {
String weblogicIp = config.getProperty("weblogic_ip");
String weblogicPort = config.getProperty("weblogic_port");
String weblogicLogout = config.getProperty("weblogic_logout");
String logoutForward = config.getProperty("domino_logout_forward");
String weblogicUrl = "http://" + weblogicIp + ":" + weblogicPort
+ weblogicLogout + "?action=domino";
String nsfFile = req.getParameter("nsf_file");
if(nsfFile == null || nsfFile.length() == 0)
nsfFile = "/names.nsf";
String dominoUrl = nsfFile + "?Logout&RedirectTo=";
if(logoutForward == null || logoutForward.length() == 0){
dominoUrl += logoutForward;
}else
dominoUrl += "/";
StringBuffer sb = new StringBuffer();
sb.append("<frameset rows='0,*'>");
sb.append("<frame name='header' scrolling='no' noresize src='" + weblogicUrl + "'>");
sb.append("<frame name='main' src='" + dominoUrl + "'>");
sb.append("</frameset>");
PrintWriter writer = res.getWriter();
writer.print(sb.toString());
writer.close();
}
private Properties getConfig() {
Properties config = new Properties();
try {
config.load(new FileInputStream("dominoplugin.properties"));
}
catch (Exception ex) {
System.out.println(
"Warning : WebLogic-Domino plugin cannot find file dominoplugin.properties!");
ex.printStackTrace();
config = null;
}
return config;
}
private String getErrorPage() {
StringBuffer sb = new StringBuffer();
sb.append("<html><body>WebLogic-Domino plugin Can't find dominoplugin.properties, it should be in domino data directory !");
sb.append("</body></html>");
return sb.toString();
}
private String getLoginFailedPage() {
StringBuffer sb = new StringBuffer();
sb.append("<html><body><font color='red' size='9'>Login Failed!</font>");
sb.append("</body></html>");
return sb.toString();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -