📄 singlenews.java
字号:
/*
*
*/
import java.io.*;
import java.text.*;
import java.sql.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class SingleNews extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException
{
Integer iNewsId;
String sNewsId=new String ();
String sPathName=new String ();
String sFileName=new String ();
String sNewsCategory=new String ();
sNewsId=request.getParameter ("id");
sNewsCategory=request.getParameter ("cateid");
if ((sNewsId==null)||(sNewsId.trim ()=="")){
return;
}
if ((sNewsCategory==null)||(sNewsCategory.trim ()=="")){
return;
}
//get catid and add the access;
{
DBOperater DB = new DBOperater("");
ResultSet rs;
try{
String sql= "select * from webaccess where catID='"
+sNewsCategory+"'";
rs = DB.executeQuery (sql);
if( rs!=null && rs.next() ){
}
else{
DB.executeUpdate("insert into webaccess ( catID , access ) VALUES ('"
+ sNewsCategory + "',0)");
}
DB.executeUpdate("update webaccess set access=access+1 where catID='"
+sNewsCategory+"'");
}catch(Exception e){
System.out.println (e.toString ());
}
DB.close ();
}
sPathName=CommonMethods.sHtmlPath +sNewsCategory;
File fSingleNewsPath=new File (sPathName);
if (!fSingleNewsPath.exists() || !fSingleNewsPath.isDirectory() )
{ try{
fSingleNewsPath.mkdirs();
}catch(Exception e){
return;
}
}
sFileName=sPathName+"/p"+sNewsId+".htm";
File fSingleNewsFile=new File (sFileName);
RandomAccessFile fNewsHtmlFile= null ;
//判断该条新闻的静态文件是否存在,如果不存在则创建此文件
if (!fSingleNewsFile.exists ()){
try{
iNewsId=Integer.valueOf (sNewsId);
}catch(Exception e){
return;
}
String sNewsShortTitle=new String ();//新闻短标题
String sNewsAbstract=new String ();//新闻摘要
String sNewsMakeTime=new String ();
String sNewsFrom=new String ();//新闻来源
/////////////////////////////
DBOperater DB = new DBOperater ("news");
ResultSet rs = DB.executeQuery ("select abstract,make,status,shorttitle from news where newsid="+iNewsId);
if(rs!=null){
try{
if( rs.next () )
sNewsAbstract=rs.getString (1);
sNewsMakeTime=rs.getString (2);
sNewsFrom=rs.getString (3);
sNewsShortTitle=rs.getString (4);
}
catch(Exception e){
}
}
DB.close ();
if (sNewsAbstract==null)
sNewsAbstract="";
if (sNewsShortTitle==null)
sNewsShortTitle="";
if ((sNewsAbstract.trim()=="")||(sNewsShortTitle.trim()==""))
{
return;
}
if ((sNewsFrom==null)||(sNewsFrom.trim ()==""))
sNewsFrom="";
else
sNewsFrom="摘自《"+sNewsFrom.trim ()+"》";
sNewsMakeTime=sNewsMakeTime.substring(0,16);
////////////////////////////
sNewsAbstract=CommonMethods.DealWithSQLParameter (sNewsAbstract);
sNewsShortTitle=CommonMethods.DealWithSQLParameter (sNewsShortTitle);
sNewsFrom=CommonMethods.DealWithSQLParameter (sNewsFrom);
//得到输出单条新闻的模板
TemplateList tempList=CommonMethods.getSingleNewsTemplate ();
SingleTemplate st;
st = tempList.searchTemplate ("ROOT");
if(st==null)
{
return ;
}
int nKey = st.getKeyNum ();
String sNewsSingle="";
String sKey= new String ();
for(int i=0;i<nKey;i++){
sNewsSingle+=st.getStringAt (i);
sKey = st.getKeyAt (i);
if( sKey.compareTo("cgi-path")==0 )
sNewsSingle+= (CommonMethods.sHostNameCGI);
if( sKey.compareTo("短标题")==0 )
sNewsSingle+=sNewsShortTitle;
if ( sKey.compareTo("摘要")==0)
sNewsSingle+=sNewsAbstract;
if (sKey.compareTo ("摘自")==0)
sNewsSingle+=sNewsFrom;
if (sKey.compareTo ("时间")==0)
sNewsSingle+=sNewsMakeTime;
}
sNewsSingle+=st.getEndString();
int fileLength;
fileLength=sNewsSingle.length();
byte[] b1=new byte[fileLength];
b1=sNewsSingle.getBytes ();
CommonMethods.WriteToDisk (b1,sFileName);
}
response.sendRedirect (CommonMethods.sNewsPath +sNewsCategory+"/p"+sNewsId+".htm");
}
public void doPost(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException
{
doGet(request,response);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -