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

📄 feedservlet.java

📁 openfans 0.1 using: eclipse, maven, spring, hibernate, mysql,common-validator,sitemesh.....
💻 JAVA
字号:
package org.openfans.feed;

import java.io.IOException;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.context.support.WebApplicationContextUtils;

import com.sun.syndication.feed.synd.SyndFeed;
import com.sun.syndication.io.FeedException;
import com.sun.syndication.io.SyndFeedOutput;

/**
 * 类说明:<br>
 * 创建时间�?2006-5-5<br>
 * 
 * @author 张俊<br>
 * @email:pesome@gmail.com<br>
 */
public class FeedServlet extends HttpServlet {
	private static final String DEFAULT_FEED_TYPE = "default.feed.type";

	private static final String FEED_TYPE = "type";

	private static final String MIME_TYPE = "application/xml; charset=UTF-8";

	private static final String COULD_NOT_GENERATE_FEED_ERROR = "Could not generate feed";

	private String _defaultFeedType;

	public void init() {
		_defaultFeedType = getServletConfig().getInitParameter(
				DEFAULT_FEED_TYPE);
		_defaultFeedType = (_defaultFeedType != null) ? _defaultFeedType
				: "rss_2.0";
	}

	public void doGet(HttpServletRequest req, HttpServletResponse res)
			throws IOException {
		String userName = req.getParameter("name");
		
		try {
			SyndFeed feed = getFeedWriter().getFeed(userName);

			String feedType = req.getParameter(FEED_TYPE);
			feedType = (feedType != null) ? feedType : _defaultFeedType;
			feed.setFeedType(feedType);

			res.setContentType(MIME_TYPE);
			SyndFeedOutput output = new SyndFeedOutput();
			output.output(feed, res.getWriter());
		} catch (FeedException ex) {
			String msg = COULD_NOT_GENERATE_FEED_ERROR;
			log(msg, ex);
			res.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, msg);
		}
	}

	private FeedWriter getFeedWriter() {
		return (FeedWriter) WebApplicationContextUtils.getWebApplicationContext(
				getServletConfig().getServletContext()).getBean("feedWriter");
	}

}

⌨️ 快捷键说明

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