📄 j_rssfeed.jsp
字号:
<%@ page contentType="text/xml;charset=gb2312" import="java.sql.*;"%><%@ include file="configuration.jsp"%><%@ include file="function.jsp"%><%
/**
注意以上几个<><>之间请不要分行,不然可能会导致错误,function.jsp和configuration里一样“>”后不能有换行符
**/
/**
'*******************************************
'由雅客网(http://www.iRSSer.com)免费提供
'版权所有:雅客网(www.iRSSer.com)
'作者:idva-chen
'作者Email:idva-chen@hotmail.com
'作者qq: 284548679
'*******************************************
**/
String driverName=getDriver(sqlType);
String url=getUrl(sqlType,dataname_or_sci_or_dataSource,server,port);
if(driverName.equals("")||url.equals(""))
{
out.println("输入数据库类型有误");
}else
{
try
{
Class.forName(driverName);
Connection conn=DriverManager.getConnection(url,username,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
/**
数据库选择语句,此处请将article修改成您的数据库中对应表名
如果需要修改排列次序的选项请将article_id修改成您数据库中的相应字段名称,如果不需要,则将
order by article_id desc删掉即可
mysql和oracle数据库中不能使用top 30语句,需要特别注意
在oracle中,如果需要显示前n条信息,请将语句改为select * from article where rownum<n+1 order by article_id desc
在mysql中,如果需要显示前n条信息,请将语句改为select * from article order by article_id desc limit n
**/
String sqlExecute="select top 30 * from article order by article_id desc";
ResultSet rs=stmt.executeQuery(sqlExecute);
response.setHeader("pragma","no-cache");
response.setHeader("cache-control","no-cache");
response.setHeader("expires","0");
response.setHeader("content-type","text/xml;charset=gb2312");
String outputHeader="<?xml version='1.0' encoding='gb2312'?>"+"\n"
+"<rss version='2.0'>"+"\n"
+"<channel>"+"\n"
+"<title>"+rssName+"</title>"+"\n"
+"<image>"+"\n"
+"<title>"+rssName+"</title>"+"\n"
+"<link>"+rssLink+"</link>"+"\n"
+"<url>"+rssLogo+"</url>"+"\n"
+"</image>"+"\n"
+"<description>"+rssDesc+"</description>"+"\n"
+"<link>"+rssLink+"</link>"+"\n"
+"<language>zh-cn</language>"+"\n"
+"<docs>"+rssName+"</docs>"+"\n"
+"<generator>RSS Generator By RSSMaker JSP版 v1.0</generator>"+"\n";
out.println(outputHeader);
/**
请将article_title修改为您数据库中对应的文章标题对应的字段名
请将article_id修改为您数据库中对应的文章的id字段名
请将author修改为您数据库中对应的文章的作者字段名
请将article_addtime修改为您数据库中对应的文章添加时间的字段名
请将article_abstract修改为您数据库中对应的文章的摘要的字段名
**/
/**
使用mysql数据库时请特别注意,为了解决其中文输入的乱码问题,
请将rs.getString("***")改为new String(rs.getString("***").getBytes("iso-8859-1"),"gb2312")
**/
/**
<link>中的“http://www.irsser.com/article.asp?id=”这一段请根据您网站中相应的链接url修改
**/
while(rs.next())
{
String temp="";
temp="<item>"+"\n"
+"<title><![CDATA["+rs.getString("article_title")+"]]></title>"+"\n"
+"<link>http://www.irsser.com/article.asp?id="+rs.getString("article_id")+"</link>"+"\n"
+"<author>"+rs.getString("author")+"</author>"+"\n"
+"<pubDate>"+rs.getString("article_addtime")+"</pubDate>"+"\n"
+"<description><![CDATA["+rs.getString("article_abstract")+"]]></description>"+"\n"
+"</item>"+"\n";
out.println(temp);
}
rs.close();
stmt.close();
conn.close();
out.println("</channel></rss>");
}
catch(Exception e)
{
out.println(e.getMessage()+"<br>");
}
}
%>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -