📄 stockservlet.java
字号:
/*
* StockServlet.java
*/
import java.io.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
/**
*
* @author Liyan
*/
//The class hand the Http request
public class StockServlet extends HttpServlet
{
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException
{
HtmlOut htmlOut = new HtmlOut (response);
String sZqID = request.getParameter("zqid");
if(sZqID==null||sZqID.trim().length()<1||
StockChannel.checkStockCode(sZqID.trim())==false )
{
htmlOut.setRedirect("zqerr.htm");
}else{
TemplateList tempList = CommonMethods.getShowStockTemplate();
makeChannelSSHQ(tempList,htmlOut,sZqID);
}
htmlOut.outHtml();
}
public void doPost(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException
{
doGet(request, response);
}
//频道处理:
//获得特定股票的全部信息:
public void makeChannelSSHQ(TemplateList tempList,HtmlOut desHtml,String sZqID)
{
if(sZqID.trim().length()<1)
return;
if(tempList==null){
return;
}
// 显示行情
SingleTemplate st0,st1;
String sTime="";
st0 = tempList.searchTemplate("ROOT");
if(st0==null)
{
desHtml.setErrorID (desHtml.SINGLE_TEMPLATE_NOTFIND ,
"","模板错误","Login");
return;
}
st1 = tempList.searchTemplate("单支股票");
if(st0==null)
{
desHtml.setErrorID (desHtml.SINGLE_TEMPLATE_NOTFIND ,
"","模板错误","Login");
return;
}
int i1,i2;
for(i1=0;i1<st0.getKeyNum();i1++)
{
desHtml.addString(st0.getStringAt(i1));
if(st0.getKeyAt(i1).compareTo("cgi-path")==0){
desHtml.addString(CommonMethods.sHostNameCGI);
}
if(st0.getKeyAt(i1).compareTo("实时行情")==0)
{
String code,name,kaiprice,shouprice,curprice,maxprice,minprice,value,diff,diffv;
double curpriceV,kaipriceV,shoupriceV,maxpriceV,minpriceV,diffV,diffvV;
DBOperater DB = new DBOperater ("stock");
String queryString="";
String sColor="";
queryString+="select zqjc , zq_sshq.ZRSP , zq_sshq.JRKP , zq_sshq.ZGJ , zq_sshq.ZDJ , zq_sshq.ZXJ , zq_sshq.CJSS,zq_sshq.SD,zq_sshq.RQ";
queryString+=" from zq_zqinfo , zq_sshq where zq_zqinfo.zqid = '"+sZqID+"' and zq_sshq.zqid='"+sZqID+"'";
ResultSet rs;
rs = DB.executeQuery(queryString);
try
{
if(rs!=null&&rs.next())
{
//zqjc , zq_sshq.ZRSP , zq_sshq.JRKP , zq_sshq.ZGJ , zq_sshq.ZDJ
//zq_sshq.ZXJ , zq_sshq.CJSS,zq_sshq.SD
name = rs.getString(1);
shouprice=rs.getString(2);
kaiprice=rs.getString(3);
maxprice = rs.getString(4);
minprice = rs.getString(5);
curprice = rs.getString(6);
value = rs.getString(7);
diff = rs.getString(8);
sTime = rs.getString(9);
//get the value of the price;
curpriceV = CommonMethods.GetDouble (curprice,0);
shoupriceV = CommonMethods.GetDouble (shouprice,0);
kaipriceV = CommonMethods.GetDouble (kaiprice,0);
diffV = CommonMethods.GetDouble (diff,0);
if (diffV>0)
sColor="#FF0000";
else if (diffV <0)
sColor="#339966";
else
sColor="#000000";
maxpriceV = CommonMethods.GetDouble (maxprice,0);
minpriceV = CommonMethods.GetDouble (minprice,0);
if(shoupriceV!=0)
diffvV = diffV*100/shoupriceV;
else
diffvV = 0;
//make format of the float value;
maxprice = CommonMethods.FormatDouble(maxpriceV,2);
minprice = CommonMethods.FormatDouble(minpriceV,2);
diff = CommonMethods.FormatDouble(diffV,2);
diffv = CommonMethods.FormatDouble(diffvV,2);
curprice = CommonMethods.FormatDouble(curpriceV,2);
kaiprice = CommonMethods.FormatDouble(kaipriceV,2);
shouprice = CommonMethods.FormatDouble(shoupriceV,2);
for(i2=0;i2<st1.getKeyNum();i2++)
{
desHtml.addString(st1.getStringAt(i2));
if(st1.getKeyAt(i2).compareTo("cgi-path")==0){
desHtml.addString(CommonMethods.sHostNameCGI);
}
if(st1.getKeyAt(i2).compareTo("股票名称")==0)
desHtml.addString(name);
if(st1.getKeyAt(i2).compareTo("股票代码")==0)
desHtml.addString(sZqID);
if(st1.getKeyAt(i2).compareTo("当前价")==0)
desHtml.addString(curprice);
if(st1.getKeyAt(i2).compareTo("今开盘")==0)
desHtml.addString(kaiprice);
if(st1.getKeyAt(i2).compareTo("昨收盘")==0)
desHtml.addString(shouprice);
if(st1.getKeyAt(i2).compareTo("涨跌")==0)
desHtml.addString(diff);
// if(st1.getKeyAt(i2).compareTo("幅度%")==0)
// desHtml.addString(diffv);
if (st1.getKeyAt (i2).compareTo ("颜色")==0)
desHtml.addString (sColor);
if(st1.getKeyAt(i2).compareTo("最高")==0)
desHtml.addString(maxprice);
if(st1.getKeyAt(i2).compareTo("最低")==0)
desHtml.addString(minprice);
if(st1.getKeyAt(i2).compareTo("成交量")==0)
{
double dValue=0;
try{
dValue=Double.valueOf (value).doubleValue ();
}catch(Exception e){
dValue=0;
}
dValue=dValue/100;
desHtml.addString(dValue+"");
}
}
desHtml.addString(st1.getEndString());
}
DB.close ();
}catch(Exception ex){
DB.close();
}
}
if(st0.getKeyAt(i1).compareTo("info")==0)
{
DBOperater DB = new DBOperater ("stock");
String queryString="";
queryString+="SELECT zq_quben FROM ZQ_LZS_INFO WHERE zqid = '"+sZqID+"'";
ResultSet rs;
rs = DB.executeQuery(queryString);
try
{
if(rs!=null&&rs.next())
{
String sTmp=rs.getString(1);
desHtml.addString(sTmp);
}
}catch(Exception ex){
DB.close();
}
DB.close();
}
if(st0.getKeyAt(i1).compareTo("收益")==0)
{
DBOperater DB = new DBOperater ("stock");
String queryString="";
queryString+="SELECT date, shouyi FROM ZQ_LZS_SHOUYI WHERE zqid = '"+sZqID+"'";
ResultSet rs;
rs = DB.executeQuery(queryString);
try
{
while(rs!=null&&rs.next())
{
String sTmp1=makeDate(rs.getString(1));
String sTmp2=rs.getString(2);
desHtml.addString(sTmp1);
desHtml.addString(sTmp2);
}
}catch(Exception ex){
DB.close();
}
DB.close();
}
if(st0.getKeyAt(i1).compareTo("分配")==0)
{
DBOperater DB = new DBOperater ("stock");
String queryString="";
queryString+="SELECT date, fenpei FROM ZQ_LZS_FENPEI WHERE zqid = '"+sZqID+"'";
ResultSet rs;
rs = DB.executeQuery(queryString);
try
{
while(rs!=null&&rs.next())
{
String sTmp1=makeDate(rs.getString(1));
String sTmp2=rs.getString(2);
desHtml.addString(sTmp1);
desHtml.addString(sTmp2);
}
}catch(Exception ex){
DB.close();
}
DB.close();
}
if(st0.getKeyAt(i1).compareTo("公告")==0)
{
DBOperater DB = new DBOperater ("stock");
String queryString="";
queryString+="SELECT date, info FROM ZQ_LZS_GGAO WHERE zqid = '"+sZqID+"' ORDER BY nindex";
ResultSet rs;
rs = DB.executeQuery(queryString);
try
{
while(rs!=null&&rs.next())
{
String sTmp1=rs.getString(1)+"<br>";
String sTmp2=rs.getString(2);
//desHtml.addString(sTmp1);
desHtml.addStringPlain (sTmp2);
desHtml.addString("<br>");
}
}catch(Exception ex){
DB.close();
}
DB.close();
}
if(st0.getKeyAt(i1).compareTo("动态")==0)
{
DBOperater DB = new DBOperater ("stock");
String queryString="";
queryString+="SELECT date, info FROM ZQ_LZS_DTAI WHERE zqid = '"+sZqID+"' ORDER BY nindex";
ResultSet rs;
rs = DB.executeQuery(queryString);
try
{
while(rs!=null&&rs.next())
{
String sTmp1=rs.getString(1)+"<br>";
String sTmp2=rs.getString(2);
//desHtml.addString(sTmp1);
desHtml.addStringPlain (sTmp2);
desHtml.addString("<br>");
}
}catch(Exception ex){
DB.close();
}
DB.close();
}
if ((st0.getKeyAt (i1).compareTo ("时间")==0)&&(sTime.length ()!=0))
{
desHtml.addString(sTime);
}
if(st0.getKeyAt(i1).compareTo("点评")==0)
{
DBOperater DB = new DBOperater ("stock");
String queryString="";
queryString+="SELECT ADVISOR , REVIEW , UPDATETIME FROM SM_GGDP WHERE GPCODE = '"+sZqID+"'";
ResultSet rs;
rs = DB.executeQuery(queryString);
try
{
while(rs!=null&&rs.next())
{
String sTmp1=rs.getString(1);
String sTmp2=rs.getString(2);
String sTmp3=rs.getString(3);
desHtml.addString(sTmp1+":");
desHtml.addString(sTmp2+" ");
desHtml.addString(sTmp3);
}
}catch(Exception ex){
DB.close();
}
DB.close();
}
}
desHtml.addString(st0.getEndString());
}
//一个把形如199901、199902变成1999年上半年、下半年的函数:
public String makeDate(String sTmp)
{
return "";
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -