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

📄 nodebookservlet.java

📁 精通Jboss——Ejb和Web Services开发精解的随书源代码
💻 JAVA
字号:
/*
 * Created on 2003-7-23
 */
package com.liuyang.ejb.cmp.node.servlet;

import java.io.IOException;
import java.io.StringReader;
import java.io.UnsupportedEncodingException;
import java.util.Map;

import javax.ejb.CreateException;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.sax.SAXSource;
import javax.xml.transform.stream.StreamResult;

import org.xml.sax.InputSource;

import com.liuyang.ejb.cmp.node.NodeLocal;
import com.liuyang.ejb.cmp.node.NodeLocalHome;
import com.liuyang.jboss.sessionbean.node.ejb.NodeServiceBeanLocal;
import com.liuyang.jboss.sessionbean.node.ejb.NodeServiceBeanLocalHome;

/**
 * @author
 * <a href="mailto:jdcyang@yahoo.com.cn">刘洋</a>
 */
public class NodeBookServlet extends HttpServlet {

	/* (non-Javadoc)
	 * @see javax.servlet.http.HttpServlet#doGet(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response)
		throws ServletException, IOException {
			response.setContentType("text/html");
			System.out.println("nodebook");
			//NodeLocalHome home = null;
			NodeServiceBeanLocal home = null;
			Context context;
			try {
				context = new InitialContext();
				//Object ref  = context.lookup("cmp/nodelocal");
				//home = (NodeLocalHome) ref;	
				Object ref  = context.lookup("session/NodeServiceLocal");		
				NodeServiceBeanLocalHome h = (NodeServiceBeanLocalHome) ref;
				home = h.create();
			} catch (NamingException e) {
				e.printStackTrace();
			} catch (CreateException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
				String pagexsl = base+"/page.xsl"; 
				System.out.println("nodebook");
				//String title = request.getParameter("title");
				try {
					String noderesult = home.getXML();
					System.out.println(noderesult);
					Transformer trans2 = 
					TransformerFactory.newInstance().newTransformer(new SAXSource(new InputSource(pagexsl)));
					//StringWriter sw = new StringWriter();
					SAXSource ds = new SAXSource(new InputSource(new StringReader(noderesult)));
					trans2.transform(ds,new StreamResult(response.getOutputStream()));
				} catch (Exception e1) {
					e1.printStackTrace();
				}
			//}	
	}
	String base = "";
	/* (non-Javadoc)
	 * @see javax.servlet.http.HttpServlet#doPost(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response)
		throws ServletException, IOException {
			System.out.println("node");
			//PrintWriter out = response.getWriter();
			Map params = request.getParameterMap();
			try {
				if(!params.containsKey("title")){
					//out.println("title and text parameter needed!");
					return;
				}else{
					NodeLocalHome home = (NodeLocalHome) (new InitialContext()).lookup("cmp/nodelocal");						
					String title = request.getParameter("title");
					if(!params.containsKey("text")){
						if(!home.findByTitle(title).isEmpty()){
						NodeLocal node = home.findByPrimaryKey(title);
						//out.println("<table><tr ><td>"+title+"</td></tr>"+
						//			"<tr><td>"+node.getText()+"</td></tr></table>");											
						}else{
						//	out.println("no this title");
						}
					}else{
						String text = request.getParameter("text");
						if(!home.findByTitle(title).isEmpty()){
							NodeLocal node = home.findByPrimaryKey(title);
							node.remove();
						}	
						home.create(title,text);
						//out.println("<table><tr ><td>"+title+"</td></tr>"+
						//		"<tr><td>"+text+"</td></tr></table>");									
					}
				}					
			} catch (Exception e) {
				e.printStackTrace();
			}	
			doGet(request,response);		
	}
	/* (non-Javadoc)
	 * @see javax.servlet.Servlet#init(javax.servlet.ServletConfig)
	 */
	public void init(ServletConfig config) throws ServletException {
		// TODO Auto-generated method stub
		super.init(config);
		System.setProperty("org.xml.sax.parser","org.apache.xerces.parsers.SAXParser");
		base=config.getServletContext().getRealPath("/");
	}
	public static String ChangeEncoding(String subject,String from,String to){
		
		System.out.println("ChangeEncoding:from:"+from+"to:"+to);
		//System.out.println(subject);
		String result = subject;
		if(from!=null){
		try {
			result = new String(subject.getBytes(from),to);
		} catch (UnsupportedEncodingException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		}else{
			try {
				result = new String(subject.getBytes(),to);
			} catch (UnsupportedEncodingException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}		
		}
		//System.out.println(result);	
		return result;
	}
}

⌨️ 快捷键说明

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