javamyeclipsetomcat(六)详解servlet和dao数据库增删改查操作myeclipseservlet_第1页
javamyeclipsetomcat(六)详解servlet和dao数据库增删改查操作myeclipseservlet_第2页
javamyeclipsetomcat(六)详解servlet和dao数据库增删改查操作myeclipseservlet_第3页
javamyeclipsetomcat(六)详解servlet和dao数据库增删改查操作myeclipseservlet_第4页
javamyeclipsetomcat(六)详解servlet和dao数据库增删改查操作myeclipseservlet_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Java+MyEclipse+Tomcat( 六)详解Servlet和DAO数据库增删改查操作,myeclipseservlet此篇文章主要讲述DAO、JavaBean和Servlet实现操作数据库,把链接数据库、数据库操作、前端界面显示分模块化实现。其中包括数据的CRUD增删改查操作,并通过一个常用的JSP网站前端模板界面进行描述。参考前文:Java+MyEclipse+Tomcat( 一)配置过程及 jsp网站开发入门Java+MyEclipse+Tomcat( 二)配置Servlet及简单实现表单提交Java+MyEclipse+Tomcat( 三)配置MySQL及查询数据显示在 JSP网页中Java+MyEclipse+Tomcat( 四)Servlet提交表单和数据库操作Java+MyEclipse+Tomcat( 五)DAO和JavaBean实现数据库和界面分开操作免费资源下载地址:PS:这篇文章可以认为是对前面五篇文章的一系列总结和应用,同时我认为理解该篇文章基本就能简单实现一个基于数据库操作的 JSP网站,对你的课程项目或毕设有所帮助! 但同时没有涉及事务、触发器、存储过程、并发处理等数据库知识,也没有 Struts、Hibernate、Spring框架知识,它还是属于基础性文章吧!希望对你有所帮助 ~一.项目结构该项目的结构如下图所示:这是典型的DAO模式,其中bean文件夹中TrainManage.java类封装了数据库表TrainManage中的属性和get/set操作;DAO文件夹中TrainManageDAO.java是对类TrainManage(或火车表)的数据库增删改查操作;util中JDBCConnect.java主要是连接数据库MySQL的操作;servlet主要是POST方法请求表单。二.数据库初始化操作 打开MySQL,输入默认超级 root用户的密码,然后数据库的操作如下代码:--创建数据库createdatabaseManageTrain;--使用数据库useManageTrain;--创建表 车次信息管理表 主键:车次--属性:车次 出发地 目的地 行车时间 硬座票价 软座票价硬卧票价 软卧票价 车辆路线createtableTrainManage(trainidvarchar(20)primarykey,startvarchar(20),endvarchar(20),timevarchar(20),yzpricedecimal(10,1),rzpricedecimal(10,1),ywpricedecimal(10,1),rwpricedecimal(10,1),rootvarchar(200));--插入数据insertTrainManage(trainid,start,end,time,yzprice,rzprice,ywprice,rwprice,root)values("T87","Beijing","Guiyang","28 小时","278","320","464.5","550","BeijingShijiazhuangGuiyang");insertTrainManage(trainid,start,end,time,yzprice,rzprice,ywprice,rwprice,root)values("T87","Guiyang","Beijing","28 小时","278","320","464.5","550","GuiyangShijiazhuangBeijing");--查询数据select*fromTrainManage;注意:上面操作在MySQL黑框中输出增删改查的SQL语言就可以,不要把中文注释也执行。同时设置所有编码方式都统一为utf-8防止乱码,数据库表结构如下图所示:三.简单查询操作 DAO目名为“TrainDatabase

方法”,

新建WebProject,项对火车车次数据库的增删改查。运行效果如下图所示:在src下新建文件夹util,然后添加类JDBCConnect.java 。代码如下:主要是调用 getConnection(url,userName,password)方法进行连接数据库操作,数据库的名称为TrainManage

,默认的连接对象为

root,密码为

123456

。同时定义两个函数 executeUpdate()作和有参数的 SQL语句操作。

执行无参数的 SQLpackageutil;import

语句操//获取默认数据库连接publicstaticConnectiongetConnection()throwsSQLException{returngetConnection("ManageTrain","root","123456");//数据库名默认用户密码}//连接数据库 参数:数据库名 root登录名 密码publicstaticConnectiongetConnection(StringdbName,StringuserName,Stringpassword)throwsSQLException{Stringurl="jdbc:mysql://localhost:3306/"+dbName"?characterEncoding=utf-8";//连接returnDriverManager.getConnection(url,userName,password);}//设置PreparedStatement参数publicstaticvoidsetParams(PreparedStatementpreStmt,Object...params)throwsSQLException{if(params==null||params.length==0)return;for(inti=1;i<=params.length;i++){Objectparam=params[i-1];if(param==null){preStmt.setNull(i,Types.NULL);}elseif(paraminstanceofInteger){preStmt.setInt(i,(Integer)param);}elseif(paraminstanceofString){preStmt.setString(i,(String)param);}elseif(paraminstanceofDouble){preStmt.setDouble(i,(Double)param);}elseif(paraminstanceofLong){preStmt.setDouble(i,(Long)param);}elseif(paraminstanceofTimestamp){preStmt.setTimestamp(i,(Timestamp)param);}elseif(paraminstanceofBoolean){preStmt.setBoolean(i,(Boolean)param);}elseif(paraminstanceofDate){preStmt.setDate(i,(Date)param);}}} //执行 SQL,返回影响的行数 异常处理publicstaticintexecuteUpdate(Stringsql)throwsSQLException{returnexecuteUpdate(sql,newObject[]{});} //带参数执行 SQL,返回影响的行数 异常处理publicstaticintexecuteUpdate(Stringsql,Object...params)throwsSQLException{Connectionconn=null;PreparedStatementpreStmt=null;try{conn=getConnection();preStmt=conn.prepareStatement(sql);setParams(preStmt,params);returnpreStmt.executeUpdate();// 执行SQL操作}finally{if(preStmt!=null)preStmt.close();if(conn!=null)conn.close();}}} 2.在src下新建文件夹 bean,然后添加类TrainManage.java。代码如下:packagebean;publicclassTrainManage{privateStringtrainid;

//车次privateStringstart;

//出发地privateStringend;//目的地privateStringtime;//行车时间privatefloatyzprice;//硬座票价privatefloatrzprice;//软座票价privatefloatywprice;//硬卧票价privatefloatrwprice;//软卧票价privateStringroot;//车辆路线publicStringgetTrainid(){returntrainid;}publicStringgetStart(){returnstart;}publicStringgetEnd(){returnend;}publicStringgetTime(){returntime;}publicFloatgetYzprice(){returnyzprice;}publicFloatgetRzprice(){returnrzprice;}publicFloatgetYwprice(){returnywprice;}publicFloatgetRwprice(){returnrwprice;}publicStringgetRoot(){returnroot;}publicvoidsetTrainid(Stringstr){this.trainid=

str;}publicvoidsetStart(Stringstr){this.start=

str;}publicvoidsetEnd(Stringstr){this.end=str;}publicvoidsetTime(Stringstr){this.time=str;}publicvoidsetYzprice(Floatprice){this.yzprice=price;}publicvoidsetRzprice(Floatprice){this.rzprice=price;}publicvoidsetYwprice(Floatprice){this.ywprice=price;}publicvoidsetRwprice(Floatprice){this.rwprice=price;}publicvoidsetRoot(Stringstr){this.root=str;}} 3.在src下新建文件夹 DAO,然后添加类StudentDAO.java 。代码如下:通常DAO(DataAccessObject )数据访问对象是负责与数据库连接,主要功能执行对数据表的 CUDR操作(创建、更新、删除、查询) 。每个数据表都定义一个 DAO接口或类实现,实现对此表的读写操作。换句话说,就是在域名.项目.模块.dao文件夹下创建个 DAO类即可。packageimportbean.TrainManage;importutil.JDBCConnect;publicclassTrainManageDAO{//插入车次publicstaticintinsert(TrainManagetrain)throwsException{Stringsql="INSERTINTOTrainManage(trainid,start,end,time,yzprice,rzprice,ywprice,rwprice,root)"+"VALUES('"+train.getTrainid()+"','"+train.getStart()+"','"+train.getEnd()+"','"+train.getTime()+"','"+train.getYzprice()+"','"+train.getRzprice()+"','"+train.getYwprice()+"','"+train.getRwprice()+"','"+train.getRoot() +"');";returnJDBCConnect.executeUpdate(sql);/**总是报错Novaluespecifiedforparameter5很多原因是insertintotrain(?,?,?)values(?,?,?)前面不应该是问号但我的怀疑是参数过多使用executeUpdate(sql,?,?,?...) 方法是错误*Stringsql="INSERTINTOTrainManage(trainid,start,end,time,yzprice,rzprice,ywprice,rwprice,root)VALUES(?,?,?,?,?,?,?,?,?);";returnJDBCConnect.executeUpdate(sql,train.getTrainid(),train.getStart(),train.getEnd(),train.getTime(),train.getYzprice(),train.getRzprice(),train.getYwprice(),train.getRwprice(),train.getRoot());*/}//更新车次publicstaticintupdate(TrainManagetrain)throwsException{Stringsql="UPDATETrainManageSETstart=?,end=?WHEREtrainid=?";returnJDBCConnect.executeUpdate(sql,train.getStart(),train.getEnd(),train.getTrainid());}//删除操作publicstaticintdelete(Stringid)throwsException{Stringsql="DELETEFROMTrainManageWHEREtrainid=?";returnJDBCConnect.executeUpdate(sql,id);}//查找记录 某车次publicstaticTrainManagefind(Stringid)throwsException{Stringsql="SELECT*FROMTrainManageWHEREtrainid=?";Connectionconn=null;PreparedStatementpreStmt=null;ResultSetrs=null;try{//链接数据库执行 SQL语句conn=JDBCConnect.getConnection();// 连接默认数据库preStmt=conn.prepareStatement(sql);preStmt.setString(1,id);rs=preStmt.executeQuery();//获取查询结果if(rs.next()){TrainManagetrain=newTrainManage();train.setTrainid(rs.getString("trainid"));train.setStart(rs.getString("start"));train.setEnd(rs.getString("end"));train.setTime(rs.getString("time"));train.setYzprice(rs.getFloat("yzprice"));train.setYwprice(rs.getFloat("ywprice"));train.setRzprice(rs.getFloat("rzprice"));train.setRwprice(rs.getFloat("rwprice"));train.setRoot(rs.getString("root"));returntrain;}else{returnnull;}}finally{//依次关闭记录集声明连接对象if(rs!=null)rs.close();if(preStmt!=null)preStmt.close();if(conn!=null)conn.close();}}//查找记录 起始站 达到站publicstaticList<TrainManage>findStartEnd(Stringstart,Stringend)throwsException{List<TrainManage>list=newArrayList<TrainManage>();Stringsql=null;Connectionconn=null;Statementstatement=null;ResultSetrs=null;//判断SQL语句if(start==""&&end==""){sql="SELECT*FROMTrainManage;";}elseif(end==""){sql="SELECT*FROMTrainManageWHEREstart='"+start+"';";}elseif(start==""){sql="SELECT*FROMTrainManageWHEREend='"+end+"';";}else{sql="SELECT*FROMTrainManageWHEREstart='"+start+"'andend='"+end+"';";}//执行try{//链接数据库执行 SQL语句conn=JDBCConnect.getConnection();// 连接默认数据库statement=conn.createStatement();rs=statement.executeQuery(sql);//获取查询结果while(rs.next()){TrainManagetrain=newTrainManage();train.setTrainid(rs.getString("trainid"));train.setStart(rs.getString("start"));train.setEnd(rs.getString("end"));train.setTime(rs.getString("time"));train.setYzprice(rs.getFloat("yzprice"));train.setYwprice(rs.getFloat("ywprice"));train.setRzprice(rs.getFloat("rzprice"));train.setRwprice(rs.getFloat("rwprice"));train.setRoot(rs.getString("root"));list.add(train);}}catch(Exceptione){ 错误:"+e.getMessage());}finally{//依次关闭if(rs!=null)

记录集 声明 连接对象rs.close();if(statement!=null)statement.close();if(conn!=null)conn.close();}returnlist;}//查询所有车次信息publicstaticList<TrainManage>listStudents()throwsException{List<TrainManage>list=newArrayList<TrainManage>();Stringsql="SELECT*FROMTrainManage";Connectionconn=null;PreparedStatementpreStmt=null;ResultSetrs=null;try{conn=JDBCConnect.getConnection();preStmt=conn.prepareStatement(sql);rs=preStmt.executeQuery();while(rs.next()){//设置数据库中表参数否则报错TrainManagetrain=newTrainManage();train.setTrainid(rs.getString("trainid"));train.setStart(rs.getString("start"));train.setEnd(rs.getString("end"));train.setTime(rs.getString("time"));train.setYzprice(rs.getFloat("yzprice"));train.setYwprice(rs.getFloat("ywprice"));train.setRzprice(rs.getFloat("rzprice"));train.setRwprice(rs.getFloat("rwprice"));train.setRoot(rs.getString("root"));list.add(train);}}finally{if(rs!=null)rs.close();if(preStmt!=null)preStmt.close();if(conn!=null)conn.close();}returnlist;}} 4.在WebRoot文件夹下创建 trainManage.jsp 文件,页面布局代码如下: <%@pagelanguage="java"prefix="c"%><jsp:directive.pageimport="DAO.TrainManageDAO"/><%ListtrainList=TrainManageDAO.listStudents();request.setAttribute("trainList",trainList);%><!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"><html><head><title>火车卡订票系统管理系统</title></head><body><divalign="center"><divclass="trainCSS"><tablewidth="1024" height="150"cellpadding="0"cellspacing="0"><tr><tdcolspan="2"><imgsrc="./image/logo.jpg"alt="logo"width="1024"height="149"></td></tr><tr><tdwidth="205"bgcolor="#b7d7ec"><palign="center"><scriptlanguage=JavaScript>today=newDate();functioninitArray(){for(vari=0;i<this.length;i++)this[i+1]=initArray.arguments[i]; }vard=newinitArray("星期日","星期一","星期二","星期三","星期四","星期五","星期六");document.write("<fontcolor=##ff0000style='font-size:12pt;font-family: 宋体'>",today.getYear()+1900," 年",today.getMonth()+1," 月",today.getDate()," 日",d[today.getDay()+1],"</font>");</script></p></td><tdwidth="819"bgcolor="#b7d7ec"><marqueedirection="left"onmouseover=this.stop()onmouseout=this.start()scrollAmount=3scrollDelay=100><FONTstyle="FONT-SIZE:18px"color=blue> 欢迎使用火车票订票系统管理系统 ,如有不足,敬请指导! </FONT></marquee></td></tr><tr><tdheight="12"></td></tr></table></div><divclass="trainCSS"><tableborder="0"width="1024"cellpadding="0"cellspacing="0"><tr><tdwidth="130"bgcolor="#dfeaf1"valign="top"><tablewidth="100%"cellpadding="0"cellspacing="0" border="0"><tr><tdheight="10"></td></tr><tr><tdalign="center"> <fontsize="3"color="blue">

管理员:

xxx,欢迎您!</font></td></tr><tr><tdheight="10"></td></tr><tr><tdalign="center"><p><ahref="trainManage.jsp"><imgsrc="image/ccxxgl-xz.jpg"width="194"height="37"border="0"></a><td></td></tr><tr><tdheight="10"></td></tr><tr><tdalign="center"><ahref="buyManage.jsp"><imgsrc="image/dpgl.jpg"width="194"height="37"border="0"></a></td></tr><tr><tdheight="10"></td></tr><tr><tdalign="center"><ahref="peopleManage.jsp"><imgsrc="image/hygl.jpg"width="194"height="37"border="0"></a></td></tr><tr><tdheight="10"></td></tr><tr><tdalign="center"><ahref="serverManage.jsp"><imgsrc="image/spqktj.jpg"width="194"height="37"border="0"></a></td></tr><tr><tdheight="10"></td></tr><tr><tdalign="center"><ahref="infoManage.jsp"><imgsrc="image/lygl.jpg"width="194"height="37"border="0"></a></td></tr><tr><tdheight="10"></td></tr><tr><tdalign="center"><ahref="exitManage.jsp"><imgsrc="image/exit.jpg"width="194"height="37"border="0"></a></td></tr></table></td><td><tablewidth="100%"height="350"border="1"cellpadding="0"cellspacing="0"bgcolor="#dfeaf1"><tr><TDalign="center"valign="top"style="padding-left:20px;padding-top:10px;"><divalign="left"> 当前位置:<ahref="homepage.jsp"> 首页</a>> 车次信息管理</div><br/><br/><formaction="trainManageSelect.jsp"method="post"><!--html:form 为struts-->出发地:<inputtype="text"id="start"name="start"style='font-size:18px'width=200/>到达地:<inputtype="text"id="end"name="end"style='font-size:18px'/><br/><br/><inputtype="submit"name="Select"value="查询车次"style='font-size:18px'/><ahref="trainManageInsert.jsp"style='font-size:20px'>插入车次</a></form><tableborder="2"bordercolor="#12A0F5"><tralign=center><td>火车列次</td><td> 出发地</td><td> 目的地</td><td> 行车时间</td><td>硬座票价</td><td>软座票价</td><td>硬卧票价</td><td>软卧票价</td><td>车辆路线</td><td> 信息操作</td></tr><c:forEachitems="${trainList}"var="train"><tralign=center><td>${train.trainid}</td><td>${train.start}</td><td>${train.end}</td><td>${train.time}</td><td>${train.yzprice}</td><td>${train.rzprice}</td><td>${train.ywprice}</td><td>${train.rwprice}</td><td><Ahref="trainManageDetail.jsp?action=see&id=${train.trainid}">查看</A></td><td><ahref="trainManageUpdate.jsp?action=edit&id=${train.trainid}">修改</a><ahref="trainManageDelete.jsp?action=del&id=${train.trainid}"onclick="returnconfirm('确定删除?')">删除</a></td></tr></c:forEach></table><br/><br/></TD></tr></table></td></tr><tr><tdheight="20"></td></tr></table></div><divclass="div"><!-- 底部版权所有界面 --><TABLEclass=wrapperborder=0cellSpacing=0cellPadding=0width="100%"align=center><TBODY><TR><TDstyle="LINE-HEIGHT:100%"align="center"><HRstyle="WIDTH:96%;HEIGHT:4px;COLOR:#02457c"><fontsize="2"><SCRIPTlanguage=javascriptsrc=""></SCRIPT><!--target=_blank 开启新的网页 --><BR><Ahref="aboutme.jsp"> 关于我们</A>|<Ahref="wzsm.jsp">网站声明</A><BR> 版权所有&copy;2014-2015 北京邮电大学 Eastmount<BR>京

ICP

10009636

</font></TD></TR></TBODY></TABLE></div></div></body></html>

5在

WebRoot

路径下创建

image

文件夹,并添加 jsp中需要使用的图片资源。6.在WebRoot/WEB-INF/lib 文件夹中添加 文件,访问 MySQL

数据库需要用到。右键项目,RunAs在Tomcat7.x下即可运行,效果如前图所示。其中JSP文件与DAO的交互核心代码如下:<jsp:directive.pageimport="DAO.TrainManageDAO"/><%ListtrainList=TrainManageDAO.listStudents();request.setAttribute("trainList",trainList);%>...<tableborder="2"bordercolor="#12A0F5"><tralign=center><td>火车列次</td><td>出发地</td><td>目的地</td><td>行车时间</td><td>硬座票价</td><td>软座票价</td><td>硬卧票价</td><td>软卧票价</td><td>车辆路线</td><td> 信息操作</td></tr><c:forEachitems="${trainList}"var="train"><tralign=center><td>${train.trainid}</td><td>${train.start}</td><td>${train.end}</td><td>${train.time}</td><td>${train.yzprice}</td><td>${train.rzprice}</td><td>${train.ywprice}</td><td>${train.rwprice}</td><td><Ahref="trainManageDetail.jsp?action=see&id=${train.trainid}">查看</A></td><td><ahref="trainManageUpdate.jsp?action=edit&id=${train.trainid}">修改</a><ahref="trainManageDelete.jsp?action=del&id=${train.trainid}"onclick="returnconfirm(' 确定删除?')">删除</a></td></tr></c:forEach></table>

四.

关键字查询操作

关键字查询运行截图如下图所示:

该步骤只需要在

WebRoot

文件夹下创建

trainManageSelect.jsp

即可,代码如下:pageEncoding="UTF-8"%>prefix="c"%><jsp:directive.pageimport="DAO.TrainManageDAO"/><jsp:directive.pageimport="bean.TrainManage"/><%request.setCharacterEncoding("UTF-8");response.setCharacterEncoding("UTF-8");Stringmstart=request.getParameter("start");Stringmend=request.getParameter("end");List<TrainManage>trainList=TrainManageDAO.findStartEnd(mstart,mend);//ListtrainList=TrainManageDAO.listStudents();request.setAttribute("trainList",trainList);%><!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"><html><head><title>火车卡订票系统管理系统</title></head><body><divalign="center"><divclass="trainCSS"><tablewidth="1024" height="150"cellpadding="0"cellspacing="0"><tr><tdcolspan="2"><imgsrc="./image/logo.jpg"alt="logo"width="1024"height="149"></td></tr><tr><tdwidth="205"bgcolor="#b7d7ec"><palign="center"><scriptlanguage=JavaScript>today=newDate();functioninitArray(){for(vari=0;i<this.length;i++)this[i+1]=initArray.arguments[i]; }vard=newinitArray("星期日","星期一","星期二","星期三","星期四","星期五","星期六");document.write("<fontcolor=##ff0000style='font-size:12pt;font-family: 宋体'>",today.getYear()+1900," 年",today.getMonth()+1," 月",today.getDate()," 日",d[today.getDay()+1],"</font>");</script></p></td><tdwidth="819"bgcolor="#b7d7ec"><marqueedirection="left"onmouseover=this.stop()onmouseout=this.start()scrollAmount=3scrollDelay=100><FONTstyle="FONT-SIZE:18px"color=blue> 欢迎使用火车票订票系统管理系统 ,如有不足,敬请指导! </FONT></marquee></td></tr><tr><tdheight="12"></td></tr></table></div><divclass="trainCSS"><tableborder="0"width="1024"cellpadding="0"cellspacing="0"><tr><tdwidth="130"bgcolor="#dfeaf1"valign="top"><tablewidth="100%"cellpadding="0"cellspacing="0" border="0"><tr><tdheight="10"></td></tr><tr><tdalign="center"> <fontsize="3"color="blue"> 管理员:xxx,欢迎您!</font></td></tr><tr><tdheight="10"></td></tr><tr><tdalign="center"><p><ahref="trainManage.jsp"><imgsrc="image/ccxxgl-xz.jpg"width="194"height="37"border="0"></a><td></td></tr><tr><tdheight="10"></td></tr><tr><tdalign="center"><ahref="buyManage.jsp"><imgsrc="image/dpgl.jpg"width="194"height="37"border="0"></a></td></tr><tr><tdheight="10"></td></tr><tr><tdalign="center"><ahref="peopleManage.jsp"><imgsrc="image/hygl.jpg"width="194"height="37"border="0"></a></td></tr><tr><tdheight="10"></td></tr><tr><tdalign="center"><ahref="serverManage.jsp"><imgsrc="image/spqktj.jpg"width="194"height="37"border="0"></a></td></tr><tr><tdheight="10"></td></tr><tr><tdalign="center"><ahref="infoManage.jsp"><imgsrc="image/lygl.jpg"width="194"height="37"border="0"></a></td></tr><tr><tdheight="10"></td></tr><tr><tdalign="center"><ahref="exitManage.jsp"><imgsrc="image/exit.jpg"width="194"height="37"border="0"></a></td></tr></table></td><td><tablewidth="100%"height="350"border="1"cellpadding="0"cellspacing="0" bgcolor="#dfeaf1"><tr><TDalign="center"valign="top"style="padding-left:20px;padding-top:10px;"><divalign="left"> 当前位置:<ahref="homepage.jsp">

首页</a>>

车次信息管理</div><br/><br/><formaction="trainManageSelect.jsp"method="post"><!--html:form 为struts-->出发地:<inputtype="text"id="start"name="start"style='font-size:18px'width=200/>到达地:<inputtype="text"id="end"name="end"style='font-size:18px'/><br/><br/><inputtype="submit"name="Select"value="查询车次"style='font-size:18px'/><ahref="trainManageInsert.jsp"style='font-size:20px'>插入车次</a></form><tableborder="2"bordercolor="#12A0F5"><tralign=center><td>火车列次</td><td>出发地</td><td>目的地</td><td>行车时间</td><td>硬座票价</td><td>软座票价</td><td>硬卧票价</td><td>软卧票价</td><td>车辆路线</td><td> 信息操作</td></tr><c:forEachitems="${trainList}"var="train"><tralign=center><td>${train.trainid}</td><td>${train.start}</td><td>${train.end}</td><td>${train.time}</td><td>${train.yzprice}</td><td>${train.rzprice}</td><td>${train.ywprice}</td><td>${train.rwp

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论