messageservlet.java
来自「精通NetBeans光盘源代码,很好很好的资料」· Java 代码 · 共 115 行
JAVA
115 行
/*
* MessageServlet.java
*
* Created on 2006年5月20日, 上午10:17
*/
package org.netbeans.jms;
import java.io.*;
import java.net.*;
import javax.jms.*;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.naming.*;
import java.util.*;
/**
*
* @author boyingking
* @version
*/
public class MessageServlet extends HttpServlet {
private static String QUEUE_NAME ="queue/OptionQueue";
private static String CONNECTION_FACTORY="ConnectionFactory";
private static String PROVIDER_URL="localhost:1099";
private QueueSender sender;
private QueueSession session;
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=gb2312");
request.setCharacterEncoding("gb2312");
PrintWriter out = response.getWriter();
//获取从客户端发送的值
String bugProduct=request.getParameter("bugProduct");
String title=request.getParameter("title");
String name=request.getParameter("name");
String contactType=request.getParameter("contactType");
String content=request.getParameter("content");
Hashtable hash = new Hashtable();
//将获取的值以键-值对的形式添加到Hashtable对象中
hash.put("bugProduct",bugProduct);
hash.put("title",title);
hash.put("name",name);
hash.put("contactType",contactType);
hash.put("content",content);
try {
Context ctx = getInitialContext();
//查找JMS工厂
QueueConnectionFactory conFactory =
(QueueConnectionFactory) ctx.lookup(CONNECTION_FACTORY);
// 创建JMS连接
QueueConnection connection = conFactory.createQueueConnection();
// 创建JMS session对象
session = connection.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
// 查找JMS队列
javax.jms.Queue chatQueue = (javax.jms.Queue) ctx.lookup(QUEUE_NAME);
// 创建JMS发送者
sender = session.createSender(chatQueue);
// 发送消息
this.sendMsg(hash);//调用sendMsg方法发送消息
out.println("<h3>发送消息成功</h3>");
} catch(Exception e) {
e.printStackTrace();
out.println("发送消息失败<br>");
out.println(e);
}
out.println("<br><h3><a href=options.jsp>返回</a></h3>");
out.close();
}
private Context getInitialContext() throws NamingException{
Properties env = new Properties();
env.put("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
env.put("java.naming.provider.url", PROVIDER_URL);
return new InitialContext(env);
}
private void sendMsg(Map msg) throws Exception {
MapMessage message = session.createMapMessage();
Set keys = msg.keySet();
Iterator i = keys.iterator();
while (i.hasNext()) {
String key = (String) i.next();
String val = (String) msg.get(key);
message.setString(key, val);
}
// 将message发送到消息队列
sender.send(message);
}
// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
/** Handles the HTTP <code>GET</code> method.
* @param request servlet request
* @param response servlet response
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
/** Handles the HTTP <code>POST</code> method.
* @param request servlet request
* @param response servlet response
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
/** Returns a short description of the servlet.
*/
public String getServletInfo() {
return "Short description";
}
// </editor-fold>
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?