后台:
数据获取及传输:
//Action.java中运行以下代码,把从mydao中获取到的bkxxlist数据传到前台
try{ds=datasource.getDataSource();
BkxxDaomydao=newBkxxDao(ds);
ArrayListbkxxlist=mydao.viewBkxx();
request.setAttribute("bkxxlist",bkxxlist);
}
Dao.java:
//操作数据库,执行Sql语句
try{Stringsql1="select*fromhtxxinnerjoinyhdlxxonhtxx.YHID=yhdlxx.YHIDorderbyhtid";
conn=ds.getConnection();
prestat=conn.prepareStatement(sql1);
rs=prestat.executeQuery();
//循环迭代取出所需要的属性值并放入mybo这个集合中
while(rs.next()){
BkxxBomybo=newBkxxBo();
mybo.setHtid(rs.getString("htid"));
mybo.setHtbt(rs.getString("htbt"));
mybo.setYhid(rs.getString("yhid"));
mybo.setYhm(rs.getString("dlyhm"));
if(rs.getString("fbsj")!
=null&&rs.getString("fbsj").length()>=10){
mybo.setFbsj(rs.getString("fbsj").substring(0,10));
}else{
mybo.setFbsj(rs.getString("fbsj"));
}
;
if(rs.getString("bknr")!
=null&&rs.getString("bknr").length()>=100){
mybo.setBknr(rs.getString("bknr").substring(0,100));
-----------------------------------------------------
bkxxlist.add(mybo);//把mybo集合里面的信息传入bkxxlist序列中
---------------------------------------------------------
4.2登录界面
前台:
dlym.jsp
<%@pageimport="java.util.*;"%>
--判断登录名或者密码是否为空,若为空弹出提示框-->
functionyhdl(){
window.location.href='dlym.jsp';
returntrue
}
functiondosubmit(){
varyhm=document.getElementById("yhm").value;
varmm=document.getElementById("mm").value;
if(yhm==null||yhm==""){
alert("用户名不能为空!
");
returnfalse;
}
if(mm==null||mm==""){
alert("密码不能为空!
");
returnfalse;
}
}
--定义返回页面-->
functionreturn_bkxxlistpage(){
window.location.href="/zxbk/viewshouye.do";
}
------------------------------------------
formaction="dlxx.do"onsubmit="returndosubmit();"> WelcometoMyHouse
--输入秘密-->
//提交前台输入的用户名及密码到后台判断是否可以进入
form>
后台:
Action.java
//验证登录用户是否是本博客的博主
try{
ds=datasource.getDataSource();
DlDaodldao=newDlDao(ds);
DlBoyhxx=newDlBo();
//从数据库取出用户信息(yhxx)
yhxx=dldao.Dl(dlyhm,mm);
if(yhxx.getYhid()==null){
//用户登录失败
myforward=actionMapping.findForward("Error");
ActionErrorserrors=newActionErrors();
saveErrors(httpServletRequest,errors);
returnmyforward;
}
//用户登录成功,存储全局session
session.setAttribute("yhxx",yhxx);
httpServletRequest.setAttribute("yhxx",yhxx);
myforward=actionMapping.findForward("yhdlSuccess");
returnmyforward;
}
Dao.java:
//操作数据库
StringSql="selectt.*,t.rowidfromYHDLXXtwheret.dlyhm=?
andt.mm=?
";
try{
conn=ds.getConnection();
pstmt=conn.prepareStatement(Sql);
pstmt.setString(1,dlyhm);
pstmt.setString(2,mm);
rs=pstmt.executeQuery();
//迭代循环取出登录用户属性值放入yhqx数据集里面
while(rs.next()){
yhqx.setYhid(rs.getString("yhid"));
yhqx.setDlyhm(rs.getString("dlyhm"));
yhqx.setMm(rs.getString("mm"));
}
4.3个人主页界面
前台:
grzy.jsp
--显示博主们发表的文章标题和部分文章内容-->
presentname="bkxxlist"> iterateid="types"name="bkxxlist"> defineid="htid"name="types"property="htid"/> writename="types"property="htid"/> <% java.util.HashMapmyMap=newjava.util.HashMap(); myMap.put("htid",htid); pageContext.setAttribute("map",myMap); %> writename="types"property="htbt"/> writename="types"property="yhm"/> writename="types"property="fbsj"/> linkaction="/ckhfhtxx.do"name="map"> writename="types"property="bknr"/>...... link> iterate>
present>
后台:
Action.java,Dao.java
此操作过程与首页显示操作的数据库一致,只是显示的内容和格式有差异。
此处就省略不解释了。
4.4博主发表话题页面
前台:
fbht.jsp
--把前台的标题和发表内容属性值传到后台-->
formaction="addhtxx.do"method="post">
textproperty="htbt"size="100">
text>
textareaproperty="bknr"cols="100"rows="3">
textarea>
form>
后台:
Action.java
try{ds=datasource.getDataSource();
BkxxActionFormbkxxactionform=(BkxxActionForm)form;
BkxxDaomydao=newBkxxDao(ds);
Stringdlyhm=checkBo.getDlyhm();
Stringdlyhid=checkBo.getYhid();
Stringhtbt=bkxxactionform.getHtbt();
Stringbknr=bkxxactionform.getBknr();
//操作数据库取最大话题ID
Stringmaxid=mydao.hqmaxhtid();
//调用addHtxx操作数据库取出b属性值拥有判断操作是否成功
booleanb=mydao.addHtxx(dlyhm,dlyhid,htbt,bknr,maxid);
if(b==false){
returnmapping.findForward("error");
}
}catch(Exceptione){
e.printStackTrace();
returnmapping.findForward("error");
}
returnmapping.findForward("addsuccess");
}
Dao.java
//操作数据库
try{
conn=ds.getConnection();
Stringsql="insertintohtxx(htid,htbt,bknr,yhid,fbsj)values(?
?
?
?
sysdate)";
pstmt=conn.prepareStatement(sql);
Stringa=Integer.parseInt(maxid)+1+"";
pstmt.setString(1,a);
pstmt.setString(2,htbt);
pstmt.setString(3,bknr);
pstmt.setString(4,dlyhid);
pstmt.executeUpdate();
}
4.5查看个人发表的文章
前台:
viewgrht.jsp
--显示个人发表的文章信息-->
presentname="grbkxxlist"> iterateid="types"name="grbkxxlist"> defineid="htid"name="types"property="htid"/> writename="types"property="htid"/> <% java.util.HashMapmyMap=newjava.util.HashMap(); myMap.put("hti copyright@ 2008-2023 冰点文库 网站版权所有 经营许可证编号:鄂ICP备19020893号-2