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

📄 sendedmsgservlet.java

📁 oa办公系统
💻 JAVA
字号:
package cn.jx.ecjtu.oa.servlets.msg;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

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 cn.jx.ecjtu.oa.common.Constant;
import cn.jx.ecjtu.oa.ps.pojo.LoginUser;
import cn.jx.ecjtu.oa.ps.pojo.Message;
import cn.jx.ecjtu.oa.services.MessageService;
import cn.jx.ecjtu.oa.services.Result;
import cn.jx.ecjtu.oa.services.ResultType;
import cn.jx.ecjtu.oa.services.ServiceFactory;
import cn.jx.ecjtu.oa.services.SysUserService;
import cn.jx.ecjtu.oa.services.UserInSession;

public class SendedMsgServlet extends HttpServlet {

	/**
	 * Destruction of the servlet. <br>
	 */
	public void destroy() {
		super.destroy(); // Just puts "destroy" string in log
		// Put your code here
	}

	/**
	 * The doGet method of the servlet. <br>
	 * 
	 * This method is called when a form has its tag value method equals to get.
	 * 
	 * @param request
	 *            the request send by the client to the server
	 * @param response
	 *            the response send by the server to the client
	 * @throws ServletException
	 *             if an error occurred
	 * @throws IOException
	 *             if an error occurred
	 */
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		doPost(request, response);
	}

	/**
	 * The doPost method of the servlet. <br>
	 * 
	 * This method is called when a form has its tag value method equals to
	 * post.
	 * 
	 * @param request
	 *            the request send by the client to the server
	 * @param response
	 *            the response send by the server to the client
	 * @throws ServletException
	 *             if an error occurred
	 * @throws IOException
	 *             if an error occurred
	 */
	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		PrintWriter out = response.getWriter();
		HttpSession session = request.getSession();
		String sPages = request.getParameter("page");// 获取用户输入的要跳转的页数
		UserInSession u = (UserInSession) session
				.getAttribute(Constant.USER_IN_SESSION);// 从session中取得用户
		int page = 1;
		if (u != null) {
			int sendId = u.getId();
			try {// 将取的参数转化为整型
				if (sPages != null) {
					page = Integer.parseInt(sPages);
				}
			} catch (Exception e) {// 异常
				page = 1;
			}
			// 调用MessageService取得短信息,当前页面,总信息数,总页面数
			Result result = msgService.getSendMsg(sendId, page);
			if (result != null) {
				if (result.getRet() == ResultType.RET_SUCCESS) {// 取得成功
					// 把取得的数据(短信息,当前页面,总信息数,总页面数)放入到request中
					for (Map.Entry<String, Object> entry : result
							.listAttribute().entrySet()) {
						request.setAttribute(entry.getKey(), entry.getValue());
					}
					// 取得短信息列表
					List<Message> msgs = (List<Message>) result
							.getAttribute("listMsg");
					List<Integer> msgIds = new ArrayList<Integer>();// 定义一个存储接受者者ID的列表
					for (Message msg : msgs) {
						msgIds.add((int) msg.getMsgId());
					}
					// 通过接受者ID取得用户
					List<LoginUser> users = userService.getUsersByIds(msgIds);
					Map<Integer, String> userMap = new HashMap<Integer, String>();
					for (LoginUser user : users) {// 把用户ID和name放入映射表
						userMap.put(user.getId(), user.getRealName());
					}
					request.setAttribute("userMap", userMap);// 把映射表放入request中
					request.getRequestDispatcher("sent_msg.jsp").forward(
							request, response);
				} else if (result.getRet() == ResultType.RET_FAIL) {// 取得失败
					request.getRequestDispatcher("error.jsp").forward(request,
							response);
				} else {// 异常
					request.getRequestDispatcher("error.jsp").forward(request,
							response);
				}
			} else {
				response.sendRedirect("nomsg.jsp");
			}
		} else {
			out.print("您还未登陆!请登陆后再试!");
		}
	}

	/**
	 * Initialization of the servlet. <br>
	 * 
	 * @throws ServletException
	 *             if an error occure
	 */
	private MessageService msgService;

	private SysUserService userService;

	public void init() throws ServletException {
		msgService = (MessageService) ServiceFactory
				.getService(MessageService.class);
		userService = (SysUserService) ServiceFactory
				.getService(SysUserService.class);
	}
}

⌨️ 快捷键说明

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