网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>JAVA>>新手入门>>基础入门>查看文档  
  川石用java写的留言板原代码     
  文章作者:未知  文章来源:水木森林  
  查看:132次  录入:管理员--2007-11-17  
 
  /*
* guestbookservlet.java
*
* created on
*/

import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
import java.util.date;
/**
*
* @author 川石
* 请尊重作者的劳动
* @version 1.0
*/
public class guestbookservlet extends httpservlet {

boolean debug=false;
string sdbdriver;
connection conn=null;
resultset rs=null;
/** initializes the servlet.
*/
public void init(servletconfig config) throws servletexception {
super.init(config);
if(debug)
sdbdriver=new string("sun.jdbc.odbc.jdbcodbcdriver");
else
sdbdriver=new string("org.gjt.mm.mysql.driver");
try{
class.forname(sdbdriver);
}
catch(java.lang.classnotfoundexception e){

system.err.println("driver类初始化:"+e.getmessage());
}

}

/** destroys the servlet.
*/
public void destroy() {

}

/** processes requests for both http <code>get</code> and <code>post</code> methods.
* @param request servlet request
* @param response servlet response
*/
protected void processrequest(httpservletrequest request, httpservletresponse response)
throws servletexception, java.io.ioexception {
response.setcontenttype("text/html;charset=gb2312");
java.io.printwriter out = response.getwriter();
boolean empty=true;
boolean noresult=true;
string sqlstr;
int currentpage=0;
int totalpage=0;
int reccount=0;
resultset myrs=null;
string username=request.getparameter("username");
string email=request.getparameter("email");
string ucontent=request.getparameter("ucontent");
string ipage=request.getparameter("ipage");
if(ipage==null||ipage.length()==0)
currentpage=1;
else
currentpage=integer.parseint(ipage);
if((username==null||username.length()==0)||(ucontent==null||ucontent.length()==0))empty=true;
else empty=false;

date mydate=new date();
//string intime=new string(string.valueof(mydate.getyear()+1990)+string.valueof(mydate.getmonth()));
string year=string.valueof(mydate.getyear()+1900);
string month=string.valueof(mydate.getmonth()+1);
if(month.length()==1)
month=new string("0"+month);
string days=string.valueof(mydate.getdate());
if(days.length()==1)
days=new string("0"+days);
string hours=string.valueof(mydate.gethours());
if(hours.length()==1)
hours=new string("0"+hours);
string minutes=string.valueof(mydate.getminutes());
if(minutes.length()==1)
minutes=new string("0"+minutes);

string intime=year+"-"+month+"-"+days+" "+hours+":"+minutes;
if(email==null||email.length()==0)
email=new string("");
if(!empty){
//username=convert(username);
//email=convert(email);
//ucontent=convert(ucontent);
sqlstr="insert into mintegbook(mname,memail,mcontent,mtime,mid) values("+username+","+email+","+ucontent+","+intime+",1)";
getdsnconn();
executeinsert(sqlstr);
}
sqlstr=new string("select mname,memail,mcontent,mtime from mintegbook order by mtime desc");

getdsnconn();
reccount=getrecordcount("mintegbook");
if(reccount==0)
noresult=true;
else
noresult=false;
if(!noresult){
int ipagesize=10;
totalpage=gettotalpage("mintegbook",ipagesize);
if(currentpage>totalpage)
currentpage=totalpage;
int cursor=(currentpage-1)*ipagesize+1;
try{
myrs=executescrollablequery(sqlstr);
myrs.absolute(cursor);
}
catch(sqlexception e){
noresult=true;
}
}
out.println("<html><head><title>我的servlet留言板</title>");
out.println("<meta http-equiv="content-type" content="text/html; charset=gb2312">");
out.println("<style type="text/css">");
out.println("<!--");
out.println(".mytext { font-family: "宋体"; font-size: 12px}");
out.println(" -->");
out.println("</style>");
out.println("</head>");
out.println("<body bgcolor="#ffffff" text="#000000">");
out.println("<table width="600" border="0" cellspacing="0" cellpadding="0" align="center" class="mytext">");
out.println("<tr><td height="22"> | <a href="http://www.vcdoor.com">我的主页</a> | 我的servlet留言板(<a href="mailto:yf188@21cn.com">川石</a>制作)</td></tr>");
out.println("<tr><td height="1" bgcolor="#999933"></td></tr>");
out.println("</table>");
out.println("<br>");
out.println("<table width="600" border="0" cellspacing="0" cellpadding="0" align="center" class="mytext">");
out.println("<tr><td height="8"></td></tr>");
out.println("<tr><td height="18" bgcolor="#f7f7f7"><div align="right">");
out.println("共有 "+reccount + " 条留言 ");
out.println(" 当前第<font color=#ff0000>"+currentpage+"</font>/共 "+totalpage+" 页 ");
if(currentpage>1)
out.println(" <a href=guestbookservlet?ipage=1>首页</a> <a href=guestbookservlet?ipage="+(currentpage-1)+">上一页</a> ");
else
out.println(" 首页 上一页 ");
if(currentpage<totalpage)
out.println(" <a href=guestbookservlet?ipage="+(currentpage+1)+">下一页</a> <a href=guestbookservlet?ipage="+totalpage+">末页</a> ");
else
out.println(" 下一页 末页 ");

out.println("</div></td></tr>");

out.println("</table>");
out.println("<br>");

//这里是显示留言内容
if(!noresult){
string dname;
string demail;
string dcontent;
string dtime;
date temptime;
try{
do{

dname=new string(myrs.getstring("mname"));
demail=new string(myrs.getstring("memail"));
dcontent=new string(myrs.getstring("mcontent"));
try{
dtime=new string(myrs.getobject("mtime").tostring());
}
catch(java.lang.nullpointerexception e){
dtime=new string("2001-04-06 12:30");
}
if(dname==null)
dname=new string("川石");
if(demail==null)
demail=new string("yf188@21cn.com");
if(dcontent==null)
dcontent=new string("test");
if(dtime==null)
dtime=new string("2001-04-06 12:30");
dname=convert(dname);
dcontent=convert(dcontent);
//temptime=myrs.getdate("mtime");

/*
string tempyear=string.valueof(temptime.getyear()+1900);
string tempmonth=string.valueof(temptime.getmonth()+1);
if(tempmonth.length()==1)
tempmonth=new string("0"+tempmonth);
string tempdays=string.valueof(temptime.getdate());
if(tempdays.length()==1)
tempdays=new string("0"+tempdays);
string tempminute=string.valueof(temptime.getminutes());
if(tempminute.length()==1)
tempminute=new string("0"+tempminute);
string temphours=string.valueof(temptime.gethours());
if(temphours.length()==1)
temphours=new string("0"+temphours);
string dtime=tempyear+" 年 "+ tempmonth +" 月 "+ tempdays +" 日 " + temphours+ " 时 "+ tempminute + " 分 ";
*/
out.println("<table width="600" border="0" cellspacing="0" cellpadding="4" align="center" class="mytext">");
out.println("<tr><td>姓名 <a href="mailto:"+demail+"">"+dname+"</a> 留言时间:"+dtime+"</td></tr>");
out.println("<tr><td height="10"></td></tr>");
out.println("<tr><td height="10">"+dcontent+"</td></tr>");
out.println("</table>");
out.println("<hr width="600" size="1">");
}while(myrs.next());}
catch(sqlexception e){
out.println("error found");
}
}
else{
out.println("还没有留言!");
}
//结束

out.println("<form name="form1" method="post" action="guestbookservlet">");
out.println("<table width="600" border="0" cellspacing="0" cellpadding="4" align="center" class="mytext">");
out.println("<tr><td width="80">姓名:</td><td><input type="text" name="username">*</td></tr>");
out.println("<tr><td>email:</td><td><input type="text" name="email">*</td></tr>");
out.println("<tr><td>留言:</td><td><textarea name="ucontent" cols="65" rows="4"></textarea></td></tr>");
out.println("</table>");
out.println("<table width="400" border="0" cellspacing="0" cellpadding="6" align="center" class="mytext">");
out.println("<tr><td height="15" width="200"> </td><td> </td></tr>");
out.println("<tr><td><div align="right"><input type="button" name="button" value=" 提 交 " style="cursor:hand" onclick="javascript:check()"></div></td>");
out.println("<td><input type="reset" name="submit2" value=" 重 置 "></td></tr>");
out.println("</table>");
out.println("</form>");

out.println("<table width="400" border="0" cellspacing="0" cellpadding="4" align="center" class="mytext">");
out.println("<tr><td width="15"> </td></tr>");
out.println("<tr><td><div align="left">声明:这是川石利用国外免费jsp服务器开发的servlet留言程序。应用jdbc连接mysql数据库。</div></td></tr>");
out.println("<tr><td> </td></tr>");
out.println("</table>");
out.println("</body>");
out.println("</html>");

out.println("<script language="javascript">");
out.println("function check(){");
out.println("if(form1.username.value.length<1||form1.ucontent.value.length<1)");
out.println("{alert(姓名和留言是必须有的!);}else{form1.submit();}}");
out.println("</script>");

out.close();
}

/** handles the http <code>get</code> method.
* @param request servlet request
* @param response servlet response
*/
protected void doget(httpservletrequest request, httpservletresponse response)
throws servletexception, java.io.ioexception {
processrequest(request, response);
}

/** handles the http <code>post</code> method.
* @param request servlet request
* @param response servlet response
*/
protected void dopost(httpservletrequest request, httpservletresponse response)
throws servletexception, java.io.ioexception {
processrequest(request, response);
}
protected void getdsnconn(){
string sqlurl="jdbc:mysql://10.0.0.1/你申请用户名?user=你的名字&password=你的帐号";
try{
if(debug)
conn=drivermanager.getconnection("jdbc:odbc:odbc源","用户名","密码口令");
else
conn=drivermanager.getconnection(sqlurl);
}
catch(sqlexception es){
system.err.println("和库连接时出错:"+es.getmessage());
}
}
protected void executeinsert(string sqlstr){
try{
statement stmt=conn.createstatement();
stmt.executeupdate(sqlstr);
}
catch(sqlexception es){
system.err.println("执行插入时:"+es.getmessage());
}
}
protected void executeupdate(string sqlstr){
try{
statement stmt=conn.createstatement();
stmt.executeupdate(sqlstr);
}
catch(sqlexception e){
system.err.println("error in query record");
}
}

//查寻

protected resultset executequery(string sqlstr){
rs=null;
try{
statement stmt=conn.createstatement();
rs=stmt.executequery(sqlstr);
}
catch(sqlexception ex){
system.err.println("执行查寻出错:"+ex.getmessage());
}
return rs;
}
protected resultset executescrollablequery(string sqlstr){
rs=null;
try{
statement stmt=conn.createstatement(resultset.type_scroll_insensitive,resultset.concur_read_only);
rs=stmt.executequery(sqlstr);
}
catch(sqlexception e){
system.err.println("执行动态查寻出错");
}
return rs;
}
//得到表记录总数
protected int getrecordcount(string stablename){
rs=null;
int countresult=0;
string sqlstr="select count(*) from "+stablename;
try{
statement stmt=conn.createstatement();
rs=stmt.executequery(sqlstr);
if(rs.next())
countresult=rs.getint(1);
rs=null;
stmt.close();
}
catch(sqlexception ex){
system.err.println(ex.getmessage());

}

return countresult;
}
//得到记录总页数
protected int gettotalpage(string stablename,int ipagesize){
int totalpage;
int totalrecnum=getrecordcount(stablename);
if(totalrecnum%ipagesize==0)
totalpage=totalrecnum/ipagesize;
else
totalpage=totalrecnum/ipagesize+1;
return totalpage;
}
protected string convert(string inputstr){
string converted=new string();
byte[] bytes;
try{
bytes=inputstr.getbytes("iso8859-1");
converted=new string(bytes,"gb2312");
}
catch(java.io.unsupportedencodingexception e){
system.out.print("error");
}
return converted;
}
/** returns a short description of the servlet.
*/
public string getservletinfo() {
return "short description";
}

}
 
 
上一篇: 初学java的朋友,建议您看一看    下一篇: 分页javabean
  相关文档
带着我的认证上路:一年甘苦为java 11-17
使用jsr-184里的sprite3d对象 11-17
运用j2ee创建灵活易扩展的企业应用程序探讨 11-17
java中字符转换 11-17
jakarta common digester 应用 11-16
21天学通j2ee3 11-17
变态级java程序员面试32问(转) 11-17
java xml教程(附:源程序) 11-17
javarmi应用 11-17
怎样学习java个人经验 11-17
java 数据对象(jdo)介绍(1) 11-16
java教师:给java初学者 11-16
面向对象思想之--限制对象属性的访问 11-17
.net跨平台的第一步 11-17
如何根本解决软件开发框架的侵入性讨论 11-16
java源码分析:iterator模式的深入探讨 11-16
开发框架:struts 基础介绍及开发流程 01-10
书评:java的盛宴(上) 11-16
solaris上开发j2ee应用中文问题的解决 11-17
adapter模式在j2se事件处理中的应用 11-16
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
技术电话:13616026886
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息