📄 processservlet.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 + -