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

📄 processservlet.java

📁 J2EE 技术 源码 书籍源代码(j2ee编程技术)
💻 JAVA
字号:
/*
 * Created on 2004-6-8
 *
 * To change the template for this generated file go to
 * Window - Preferences - Java - Code Generation - Code and Comments
 */
package com.study.exercise;

import java.io.IOException;
import java.io.PrintWriter;

import javax.ejb.CreateException;
import javax.ejb.FinderException;
import javax.naming.InitialContext;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.naming.*;

import javax.jms.*;

/**
 * @author Administrator
 *
 * To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Generation - Code and Comments
 */
public class ProcessServlet extends HttpServlet {
	protected void doGet(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		//TODO Method stub generated by Lomboz
		doProcess(request,response);
	}
	protected void doPost(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		//TODO Method stub generated by Lomboz
		doProcess(request,response);
	}
	protected void doProcess(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		//TODO Method stub generated by Lomboz
		String operation=request.getParameter("operation");
		
		if(operation.equals("logon"))doLogon(request,response);
		if(operation.equals("reg"))doReg(request,response);
		if(operation.equals("retake"))doRetake(request,response);
	}
	protected void doLogon(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		
		String id=request.getParameter("userID");
//		将用户ID放入会话
		request.getSession().setAttribute("userid",id);
		
		String password=request.getParameter("password1");
		String resultpage="/index.jsp";
		PrintWriter out =response.getWriter();
		try{
			InitialContext ctx=new InitialContext();
			Object objRef = ctx.lookup("UserBean");
//			主接口
			UserHome
			home=(UserHome)javax.rmi.PortableRemoteObject.narrow(
			objRef,UserHome.class);
			
			User bean =home.findByPrimaryKey(id);
			String ps=bean.getPassword();
			if(!ps.equals(password))resultpage="/notFindUser.jsp";
					
			}catch (FinderException e){
				resultpage="/notFindUser.jsp";
			}
			catch(javax.naming.NamingException ne){
			out.println("Naming Exception caught:"+ne);
			ne.printStackTrace(out);
			}catch(java.rmi.RemoteException re){
			out.println("Remote Exception caught:"+re);
			re.printStackTrace(out);
			}finally{
				RequestDispatcher dispatcher =
				      getServletConfig().getServletContext().getRequestDispatcher(resultpage);
				    dispatcher.forward(request, response);
			}

	}
	protected void doReg(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		String resultpage="/regsucess.jsp";
		String id=request.getParameter("userID");
		String password=request.getParameter("password");
		String password1=request.getParameter("password1");
		String email_address=request.getParameter("email_address");
		if(!password.equals(password1)){
			request.setAttribute("promote","两次密码不一致!");
			resultpage="/reg.jsp";
			RequestDispatcher dispatcher =
			      getServletConfig().getServletContext().getRequestDispatcher(resultpage);
			    dispatcher.forward(request, response);
		}else{
			PrintWriter out =response.getWriter();
			try{
				InitialContext ctx=new InitialContext();
				Object objRef = ctx.lookup("UserBean");
//				主接口
				UserHome
				home=(UserHome)javax.rmi.PortableRemoteObject.narrow(
				objRef,UserHome.class);
				// bean=home.findByPrimaryKey(id);
				
//				组件接口
				Integer i=new Integer(1);
				User bean =home.create(id,password,i,email_address);
				 resultpage="/regsucess.jsp";
								
				}
				catch (CreateException e){
					request.setAttribute("promote","帐户已经存在,请选择其他帐户名称!");
					resultpage="/reg.jsp";
				}
				catch(javax.naming.NamingException ne){
				out.println("Naming Exception caught:"+ne);
				ne.printStackTrace(out);
				}catch(java.rmi.RemoteException re){
				out.println("Remote Exception caught:"+re);
				re.printStackTrace(out);
				}finally{
					RequestDispatcher dispatcher =
					      getServletConfig().getServletContext().getRequestDispatcher(resultpage);
					    dispatcher.forward(request, response);
				}
		}
		
	}
	protected void doRetake(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		//发送消息给队列
		PrintWriter out =response.getWriter();
		String userid=(String)request.getSession().getAttribute("userid");
		
		try {
		      // Get access to JNDI
		      Context context = new InitialContext();

		      // Lookup the managed connection factory for a topic
		      TopicConnectionFactory topicFactory = 
		         (TopicConnectionFactory)context.lookup("ConnectionFactory");

		      // Create a connection to the JMS provider
		      TopicConnection topicConnection = topicFactory.createTopicConnection();
		      
		      // Creat a topic session
		      TopicSession session = topicConnection.createTopicSession(
								   // No transaction
								   false, 
								   // Auto ack
								   Session.AUTO_ACKNOWLEDGE);

		     // Lookup the destination you want to publish to
		     Topic topic = (Topic)context.lookup("topic/hyllogonTopic");

		     // Create a publisher
		     TopicPublisher pub = session.createPublisher(topic);

		     // Create a message
		     TextMessage message = session.createTextMessage();
		     //将用户ID 发送给消息驱动EJB
		     
		     message.setText(userid);

		     // Publish the message
		     pub.publish(topic, message);

		     // Close the stuff
		     session.close();
		     topicConnection.close();
		}
		    catch (Exception e) {
		      e.printStackTrace();
		    }

	}
}

⌨️ 快捷键说明

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