📄 usermoduleprocessor.java
字号:
/*
* Copyright (C) 2005-2007 by Josdn.com
* 处理类
*
*/
package com.mvnforum.user;
import java.io.IOException;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.*;
import com.mvnforum.MVNForumConfig;
import com.mvnforum.MyUtil;
import com.mvnforum.auth.*;
import com.mvnforum.common.MVNCaptchaService;
import net.myvietnam.mvncore.exception.*;
import net.myvietnam.mvncore.filter.DisableHtmlTagFilter;
import net.myvietnam.mvncore.mvnframework.URLMap;
import net.myvietnam.mvncore.util.ParamUtil;
import net.myvietnam.mvncore.util.StringUtil;
import net.myvietnam.mvncore.web.GenericRequest;
import net.myvietnam.mvncore.web.GenericResponse;
import net.myvietnam.mvncore.web.impl.GenericRequestServletImpl;
import net.myvietnam.mvncore.web.impl.GenericResponseServletImpl;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class UserModuleProcessor {
private static Log log = LogFactory.getLog(UserModuleProcessor.class);
private final String ORIGINAL_REQUEST = "mvnforum.user.OriginalRequest";
private HttpServlet mainServlet = null;
private ServletContext servletContext = null;
private OnlineUserManager onlineUserManager = OnlineUserManager.getInstance();
private UserModuleURLMapHandler urlMapHandler = new UserModuleURLMapHandler();
private ForumWebHandler forumWebHandler = new ForumWebHandler();
private ThreadWebHandler threadWebHandler = new ThreadWebHandler();
private PostWebHandler postWebHandler = new PostWebHandler();
private AttachmentWebHandler attachmentWebHandler = new AttachmentWebHandler();
private MemberWebHandler memberWebHandler = new MemberWebHandler();
private CompanyWebHandler companyWebHandler = new CompanyWebHandler();
private WatchWebHandler watchWebHandler = new WatchWebHandler();
private FavoriteThreadWebHandler favoriteThreadWebHandler = new FavoriteThreadWebHandler();
private MessageWebHandler messageWebHandler = new MessageWebHandler();
private PmAttachmentWebHandler pmAttachmentWebHandler = new PmAttachmentWebHandler();
private MessageFolderWebHandler messageFolderWebHandler = new MessageFolderWebHandler();
public UserModuleProcessor(HttpServlet servlet) {
mainServlet = servlet;
servletContext = servlet.getServletContext();
}
public String process(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
long start = 0;
//获取URL返回的路径信息
String requestURI = StringUtil.getEmptyStringIfNull(request.getPathInfo());
String responseURI = null;
OnlineUser onlineUser = null;
GenericRequest genericRequest = new GenericRequestServletImpl(request, servletContext);
GenericResponse genericResponse = new GenericResponseServletImpl(response);
if (log.isDebugEnabled()) {
start = System.currentTimeMillis();
log.debug("UserModuleProcessor : requestURI = " + requestURI);
}
// step 1: some command need to be processed before we do the URI mapping (of the MODAL)
// MODAL processing
try {
onlineUser = onlineUserManager.getOnlineUser(genericRequest);
onlineUser.updateNewMessageCount(false);
if (requestURI.equals("/index")) {
if (MVNForumConfig.getEnablePortalLikeIndexPage()) {
forumWebHandler.prepareListIndex(genericRequest, requestURI);//no permission
} else {
forumWebHandler.prepareList(genericRequest, requestURI);//no permission
}
// change this page;
} else if (requestURI.equals("/listforums")) {
forumWebHandler.prepareList(genericRequest, requestURI);//no permission
} else if (requestURI.equals("/listthreads")) {
threadWebHandler.prepareList_limit(genericRequest);
} else if (requestURI.equals("/listrecentthreads")) {
threadWebHandler.prepareListRecentThreads_limit(genericRequest);//no permission
} else if (requestURI.equals("/viewthread")) {
postWebHandler.prepareViewThread(genericRequest);
} else if (requestURI.equals("/printthread")) {
postWebHandler.prepareViewThread(genericRequest);
} else if (requestURI.equals("/deletethread")) {
threadWebHandler.prepareDelete(genericRequest);
} else if (requestURI.equals("/deletethreadprocess")) {
threadWebHandler.processDelete(genericRequest);
} else if (requestURI.equals("/movethread")) {
threadWebHandler.prepareMoveThread(genericRequest);
} else if (requestURI.equals("/movethreadprocess")) {
threadWebHandler.processMoveThread(genericRequest);
} else if (requestURI.equals("/editthreadstatus")) {
threadWebHandler.prepareEditThreadStatus(genericRequest);
} else if (requestURI.equals("/editthreadstatusprocess")) {
threadWebHandler.processEditThreadStatus(genericRequest);
} else if (requestURI.equals("/editthreadtype")) {
threadWebHandler.prepareEditThreadType(genericRequest);
} else if (requestURI.equals("/editthreadtypeprocess")) {
threadWebHandler.processEditThreadType(genericRequest);
} else if (requestURI.equals("/modcp")) {
threadWebHandler.prepareModerationControlPanel(genericRequest);
} else if (requestURI.equals("/listrecentpendingthreads")) {
threadWebHandler.prepareListRecentDisabledThreads_limit(genericRequest);
} else if (requestURI.equals("/listthreadswithpendingposts")) {
threadWebHandler.prepareListEnableThreadsWithPendingPosts_inForum_limit(genericRequest);
} else if (requestURI.equals("/listrecentthreadswithpendingposts")) {
threadWebHandler.prepareListRecentEnableThreadsWithPendingPosts_limit(genericRequest);
} else if (requestURI.equals("/moderatependingthreads")) {
threadWebHandler.prepareModeratePendingThreads_inForum_limit(genericRequest);
} else if (requestURI.equals("/moderatependingthreadsprocess")) {
threadWebHandler.processModeratePendingThreads(genericRequest);
} else if (requestURI.equals("/moderatependingposts")) {
postWebHandler.prepareModeratePendingPosts_limit(genericRequest);
} else if (requestURI.equals("/moderatependingpostsprocess")) {
postWebHandler.processModeratePendingPosts(genericRequest);
} else if (requestURI.equals("/listpendingthreadsxml")) {
threadWebHandler.prepareListDisabledThreads_limit_xml(genericRequest);
} else if (requestURI.equals("/addpost")) {
postWebHandler.prepareAdd(genericRequest, genericResponse);
} else if (requestURI.equals("/addpostprocess")) {
postWebHandler.processAdd(genericRequest, genericResponse);
} else if (requestURI.equals("/editpost")) {
postWebHandler.prepareEdit(genericRequest);
} else if (requestURI.equals("/updatepost")) {
postWebHandler.processUpdate(genericRequest);
} else if (requestURI.equals("/printpost")) {
postWebHandler.preparePrintPost(genericRequest);
} else if (requestURI.equals("/deletepost")) {
postWebHandler.prepareDelete(genericRequest);
} else if (requestURI.equals("/deletepostprocess")) {
postWebHandler.processDelete(genericRequest);
} else if (requestURI.equals("/addattachment")) {
attachmentWebHandler.prepareAdd(genericRequest);
} else if (requestURI.equals("/addattachmentprocess")) {
attachmentWebHandler.processAdd(genericRequest, genericResponse);
} else if (requestURI.equals("/getattachment")) {
attachmentWebHandler.downloadAttachment(request, response);
return null;//download attachment, no further process is needed
} else if (requestURI.equals("/deleteattachment")) {
attachmentWebHandler.prepareDelete(genericRequest);
} else if (requestURI.equals("/deleteattachmentprocess")) {
attachmentWebHandler.processDelete(genericRequest);
} else if (requestURI.equals("/editattachment")) {
attachmentWebHandler.prepareEdit(genericRequest);
} else if (requestURI.equals("/editattachmentprocess")) {
attachmentWebHandler.processEdit(genericRequest);
} else if (requestURI.equals("/myfavoritethread")) {
threadWebHandler.prepareList_inFavorite(genericRequest);
} else if (requestURI.equals("/addfavoritethreadprocess")) {
favoriteThreadWebHandler.processAdd(genericRequest);
} else if (requestURI.equals("/deletefavoritethreadprocess")) {
favoriteThreadWebHandler.processDelete(genericRequest);
} else if (requestURI.equals("/registermember")) { //注册会员
memberWebHandler.prepareAdd(genericRequest);
} else if (requestURI.equals("/registermemberprocess")) { //注册处理
memberWebHandler.processAdd(genericRequest, genericResponse);// no permission
} else if (requestURI.equals("/viewmember")) {
memberWebHandler.prepareView_forPublic(genericRequest);// no permission
} else if (requestURI.equals("/listmembers")) {
memberWebHandler.prepareListMembers_forPublic(genericRequest);// no permission
} else if (requestURI.equals("/editmember")) {
memberWebHandler.prepareEdit_forCurrentMember(genericRequest);
} else if (requestURI.equals("/updatemember")) {
memberWebHandler.processUpdate(genericRequest, genericResponse);
} else if (requestURI.equals("/myprofile")) {
memberWebHandler.prepareView_forCurrentMember(genericRequest);
} else if (requestURI.equals("/changepassword")) {
onlineUser.getPermission().ensureIsAuthenticated();// check if login
} else if (requestURI.equals("/changepasswordprocess")) {
memberWebHandler.processUpdatePassword(genericRequest);
} else if (requestURI.equals("/changeemail")) {
memberWebHandler.prepareEditEmail(genericRequest);
} else if (requestURI.equals("/changeemailprocess")) {
memberWebHandler.processUpdateEmail(genericRequest);
} else if (requestURI.equals("/changesignature")) {
memberWebHandler.prepareEditSignature(genericRequest);
} else if (requestURI.equals("/changesignatureprocess")) {
memberWebHandler.processUpdateSignature(genericRequest, genericResponse);
} else if (requestURI.equals("/changeavatar")) {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -