⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 useraction.java

📁 一个用struts tiles的在线影院web系统
💻 JAVA
字号:
package com.eline.vod.security.struts;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import com.blue.web.common.util.AppSettings;
import com.eline.vod.security.Users;
import com.eline.vod.security.model.CreateUserStatus;
import com.eline.vod.security.model.User;
import com.eline.vod.utils.MyHttpClient;
import com.eline.vod.utils.SiteUrls2;

/**
 * 
 * @author Lucifer
 *
 */
public class UserAction extends Action {

	public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
		boolean isOK = false;
        Integer action = null;
        String returnURL = null;

		if (form != null && form instanceof UserForm) {
			UserForm userForm = (UserForm) form;
			switch (userForm.getAction()) {
			case	UserForm.ACTION_REGISTER:
				action = new Integer(userForm.getAction());
				isOK = doUserRegistration(userForm, request, response);
				if (isOK) {
					returnURL = SiteUrls2.getInstance().getHomeURL();
				} else {
					returnURL = SiteUrls2.getInstance().getRegisterURL();
				}
			case	2:
				action = new Integer(userForm.getAction());
				isOK = true;
				if (isOK) {
					returnURL = SiteUrls2.getInstance().getHomeURL();
				} else {
					returnURL = SiteUrls2.getInstance().getRegisterURL();
				}
			}
		}
        request.setAttribute("act", action);
        request.setAttribute("rt", returnURL);
        return mapping.findForward(isOK ? "success" : "failure");
	}

	public boolean doUserRegistration(UserForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
		/*
		 * get user's mobile pin with misc password.
		 * do PDA order.
		 * if ok then display welcome message.
		 * else tell user to check inputed info and try registration later.
		 */
		String msisdn = form.getMobilePIN();
		String username = form.getUsername();
		String verifyCode = form.getVerifyCode();
		String cooperateCode = form.getCooperateCode();

		int status = Users.validateNewUserExists(username, msisdn);
		if (status == CreateUserStatus.UnknownFailure) {
			// String url = SiteUrls2.getInstance().getProperty(SiteUrls2.URL_PDA_LOGIN) + "?mobile=" + msisdn + "&password=" + verifyCode;
			String url = AppSettings.getInstance().getProperty("pdaLogin") + "?mobile=" + msisdn + "&password=" + verifyCode  + "&cooperate=" + cooperateCode;
			System.out.println("url=" + url);
			String responseBody = MyHttpClient.getGetResponseAsString(url, "UTF-8");
	
			// If failed to connect with remote url.
			System.out.println("DEBUG: responseBody=" + responseBody);
			if (responseBody == null || responseBody.length() < 1) {
				System.err.println("TRACE: registration failed, invalid response body!");
				return false;
			}
			if (responseBody.startsWith("e")) {
				System.err.println("TRACE: registration failed, responseBody = " + responseBody);
				return false;
			}
			User newUser = new User();
			newUser.setUserName(form.getUsername());
			newUser.setPassword(form.getPassword());
			newUser.setMobilePIN(form.getMobilePIN());
			newUser.setVerifyCode(form.getVerifyCode());
			status = Users.create(newUser, false);
			System.out.println("CreateUserStatus.Created=" + CreateUserStatus.Created);
			System.out.println("struts.status=" + status);
		}
		String message;
		switch (status) {
		case	CreateUserStatus.DisallowedUsername:
			message = "无效的用户名";
			break;
		case	CreateUserStatus.DuplicateMobilePIN:
			message = "手机号码已存在";
			break;
		case	CreateUserStatus.DuplicateUsername:
			message = "用户名已存在";
			break;
		default:
			message = "操作失败";
		}
        request.setAttribute("msg", message);

        return status == CreateUserStatus.Created;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -