📄 managementservlet.java
字号:
/**
* $Log: ManagementServlet.java,v $
* Revision 1.3 2003/02/01 13:23:35 mwulff
* no message
*
* Revision 1.2 2003/01/17 16:01:17 mwulff
* added support for remote message handling
*
* Revision 1.1 2003/01/16 13:08:09 mwulff
* initial version
*
* Revision 1.2 2003/01/13 19:13:27 mwulff
* no message
*
* Revision 1.1 2002/12/23 13:03:20 mwulff
* no message
*
* Revision 1.3 2002/12/20 18:51:18 mwulff
* no message
*
* Revision 1.2 2002/12/14 22:43:08 mwulff
* no message
*
* Revision 1.1 2002/12/13 20:07:33 mwulff
* no message
*
*/
package de.fhm.jkf.resource.sv;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
/**
* @author marten wulff
*
* * <br><br><center><table border="1" width="80%"><hr>
* <strong><a href="http://jkf.sourceforge.net">The JKF Project</a></strong>
* <p>
* Copyright (C) 2002 by Marten Wulff
* <p>
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
* <p>
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
* <p>
* You should have received a copy of the <a href="http://www.gnu.org/copyleft/lesser.html">
* GNU Lesser General Public License</a> along with this library; if not, write to
* the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
* <hr></table></center>
*/
public class ManagementServlet extends HttpServlet implements ConsoleConstants {
// Logging
private static Logger logger = Logger.getLogger(ManagementServlet.class);
private ServerLoggingManager logManager =
ServerLoggingManager.instance();
private RemoteManager remoteManager =
RemoteManager.instance();
private ServerResourceManager resManager =
ServerResourceManager.instance();
private ServletContext context = null;
private TransferBean bean = null;
/*
* @see Servlet#init(ServletConfig)
*/
public void init(ServletConfig config) throws ServletException {
super.init(config);
context = config.getServletContext();
}
/*
* @see HttpServlet#service(HttpServletRequest, HttpServletResponse)
*/
public void service(
HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
HttpSession session = request.getSession(false);
// if it's the first call, init the TransferBean, that is used
// by the views
if(session == null) {
session = request.getSession(true);
bean = new TransferBean();
bean.setServerLogLevel(logManager.getServerLogLevel().toString());
bean.setClientLogLevel(remoteManager.getClientLogLevel().toString());
session.setAttribute("bean", bean);
}
RequestDispatcher dispatcher = context.getRequestDispatcher("/jsp/JKFManagement.jsp");
String action = request.getParameter(MAIN_SWITCH);
if (action == null || action.equals("")) {
request.setAttribute(VIEW, LOGIN_VIEW);
} else if (action.equals(PERFORM_LOGIN_ACTION)) {
if(performLoginAction(request, response, session)) {
request.setAttribute(VIEW, MAIN_CONSOLE_VIEW);
}else {
request.setAttribute(VIEW, LOGIN_VIEW);
}
} else if(!isLoggedIn(session)) { // from here user needs to be logged in
request.setAttribute(VIEW, LOGIN_VIEW);
} else if (action.equals(CHANGE_LOCAL_LOGLEVEL_ACTION)) {
performLocalLogLevelAction(request, response);
request.setAttribute(VIEW, MAIN_CONSOLE_VIEW);
} else if (action.equals(CHANGE_REMOTE_LOGLEVEL_ACTION)) {
performRemoteLogLevelAction(request, response);
request.setAttribute(VIEW, MAIN_CONSOLE_VIEW);
} else if (action.equals(REMOTE_MESSAGE_ACTION)) {
performRemoteMessageAction(request, response);
request.setAttribute(VIEW, MAIN_CONSOLE_VIEW);
}
dispatcher.forward(request, response);
}
private void performRemoteMessageAction(
HttpServletRequest request,
HttpServletResponse response) {
String message = request.getParameter(REMOTE_MESSAGE);
remoteManager.setClientResponseMessage(message);
}
/**
* This method is only for controlling if the user has performed
* a Login. This is now real user authentication.
*/
private boolean isLoggedIn(HttpSession session) {
String user = (String)session.getAttribute("UserName");
if(user != null) {
return true;
} else {
return false;
}
}
private boolean performLoginAction(
HttpServletRequest request,
HttpServletResponse response,
HttpSession session) {
String pUser = request.getParameter(USER);
String pPw = request.getParameter(PASSWD);
if (pUser == null || pPw == null) {
return false;
}
// check login, if wrong display the login screen again
if (!resManager.checkLogin(pUser, pPw)) {
return false;
}
session.setAttribute("UserName", pUser);
return true;
}
private void performLocalLogLevelAction(
HttpServletRequest request,
HttpServletResponse response) {
Level newLevel = Level.toLevel(request.getParameter(LOCAL_LOG_LEVEL));
logManager.setServerLogLevel(newLevel);
bean.setServerLogLevel(logManager.getServerLogLevel().toString());
}
private void performRemoteLogLevelAction(
HttpServletRequest request,
HttpServletResponse response) {
Level newLevel = Level.toLevel(request.getParameter(REMOTE_LOG_LEVEL));
remoteManager.setClientLogLevel(newLevel);
bean.setClientLogLevel(remoteManager.getClientLogLevel().toString());
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -