struts连接数据库.docx
- 文档编号:12279276
- 上传时间:2023-06-05
- 格式:DOCX
- 页数:28
- 大小:321.43KB
struts连接数据库.docx
《struts连接数据库.docx》由会员分享,可在线阅读,更多相关《struts连接数据库.docx(28页珍藏版)》请在冰点文库上搜索。
struts连接数据库
Web,xml
xmlversion="1.0"encoding="UTF-8"?
>
xsi="http: //www.w3.org/2001/XMLSchema-instance"xmlns="xsi: schemaLocation="id="WebApp_ID"version="3.0"> Music,java packagevo; publicclassMusic{ privateintmusicNo; privateStringmusicName; privateStringsinger; privateStringsize; privateStringmusicType; publicintgetMusicNo(){ returnmusicNo; } publicvoidsetMusicNo(intmusicNo){ this.musicNo=musicNo; } publicStringgetMusicName(){ returnmusicName; } publicvoidsetMusicName(StringmusicName){ this.musicName=musicName; } publicStringgetSinger(){ returnsinger; } publicvoidsetSinger(Stringsinger){ this.singer=singer; } publicStringgetSize(){ returnsize; } publicvoidsetSize(Stringsize){ this.size=size; } publicStringgetMusicType(){ returnmusicType; } publicvoidsetMusicType(StringmusicType){ this.musicType=musicType; } } MusicDao.java packagedao; importjava.util.List; importvo.Music; publicinterfaceMusicDao{ List booleandeleteMusic(intmusicID); } MusicDaoImpl.java packagedao; importjava.sql.Connection; importjava.sql.ResultSet; importjava.sql.SQLException; importjava.sql.Statement; importjava.util.ArrayList; importjava.util.List; importutil.JDBCutil; importvo.Music; publicclassMusicDaoImplimplementsMusicDao{ Connectionconn=null; Statementst=null; ResultSetrs=null; booleanflag=false; @Override publicList //TODOAuto-generatedmethodstub List Stringsql="select*frommusics";/*表musics*/ conn=JDBCutil.getConnection(); try{ st=conn.createStatement(); rs=st.executeQuery(sql); while(rs.next()){ Musicmusic=newMusic();/*Music是实例vo*/ music.setMusicNo(rs.getInt("MUSIC_ID"));/*MusicNo是实例的字段而MUSIC_ID是数据库的字段*/ music.setMusicName(rs.getString("MUSIC_NAME")); music.setSinger(rs.getString("SINGER")); music.setSize(rs.getString("MUSIC_LENGTH")); music.setMusicType(rs.getString("MUSIC_STYLE")); list.add(music); } }catch(SQLExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } returnlist; } @Override publicbooleandeleteMusic(intmusicID){ //TODOAuto-generatedmethodstub returnfalse; } } MusicService.java packageservice; importjava.util.List; importvo.Music; publicinterfaceMusicService{ List } MusicServiecImpl.java packageservice; importjava.util.List; importdao.MusicDao; importdao.MusicDaoImpl; importvo.Music; publicclassMusicServiceImplimplementsMusicService{ MusicDaomusic=newMusicDaoImpl();//父类引用指向子类多态 @Override publicList //TODOAuto-generatedmethodstub returnmusic.queryAllMusic();//根据music对象调用Dao层的方法 } } Struts.xml xmlversion="1.0"encoding="UTF-8"? > DOCTYPEstrutsPUBLIC "-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.3//EN" "http: //struts.apache.org/dtds/struts-2.3.dtd"> -- MusicManager.java packageaction; importjava.util.List; importservice.MusicServiceImpl; importvo.Music; publicclassMusicManager{ privateMusicmusic;//Music实体类 privateList publicStringqueryAllMusic(){//这个是struts中的method方法 musicList=newMusicServiceImpl().queryAllMusic(); if(musicList! =null){ return"success"; }else{ return"error"; } } publicMusicgetMusic(){ returnmusic; } publicvoidsetMusic(Musicmusic){ this.music=music; } publicList returnmusicList; } publicvoidsetMusicList(List this.musicList=musicList; } } Index.jsp <%@pagelanguage="java"contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%> DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http: //www.w3.org/TR/html4/loose.dtd">
--action是用来跳转的在struts中 Success.jsp <%@pagelanguage="java"contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%> <%@pageimport="vo.Music"%> <%@pageimport="java.util.List"%> DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http: //www.w3.org/TR/html4/loose.dtd">
<%
List
%>
歌曲编号 | 歌曲名称 | 演唱者 | 歌曲长度 | 歌曲类型 | 操作 |
<%=musicList.get(i).getMusicNo()%> | <%=musicList.get(i).getMusicName()%> | <%=musicList.get(i).getSinger()%> | <%=musicList.get(i).getSize()%> | <%=musicList.get(i).getMusicType()%> |
删除案例
1,struts会默认调用Action类中的execute()方法,想要使用自定的方法必须配置method属性指定方法的名称,
2,对于上述配置,如果一个Action类有多个方法处理用户请求,就会在struts.xml文件中为同一个类配置多个不同的方法。
这种使用method属性来调到方法的方式导致配置文件中的产生了大量的
3,可以使用动态的方法调用:
语法 methodName.action"> DemoAction: ! : 分隔符 methodName: Action类中的方法名称 4, --定义常量,以下信息表示Struts2允许动态方法调用--> 5,"redirectAction"使用于重定向到一个Action中 使用动态的方法时,应当是在请求时解析action名和“! ”后的方法名 Struts.xml xmlversion="1.0"encoding="UTF-8"? > DOCTYPEstrutsPUBLIC "-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.3//EN" "http: //struts.apache.org/dtds/struts-2.3.dtd"> --method="queryAllMusic"本来是action中的方法现在result中的name是action中的方法--> -- queryAllMusic.action --删除也要显示内容--> 404最简单的错了路径错误配置错误的路径包或者配置问题 Chain strData: data param1: 图图 param2: 妈妈 ===============Action2============== strData: data param1: 图图 param2: 妈妈 Web.xml xmlversion="1.0"encoding="UTF-8"? > xsi="http: //www.w3.org/2001/XMLSchema-instance"xmlns="xsi: schemaLocation="id="WebApp_ID"version="3.0"> Struts.xml xmlversion="1.0"encoding="UTF-8"? > DOCTYPEstrutsPUBLIC "-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.3//EN" "http: //struts.apache.org/dtds/struts-2.3.dtd"> --超链接--> --Action1跳转Action2--> --通过sendData转发过来的参数,优先级高于自己同名的参数,所以param1值为上一个Action中的param1的值其它值可以转发到下一个Action中--> Action1.java packageaction; publicclassAction1{ StringstrData; Stringparam1; Stringparam2; publicStringsendData(){ System.out.println("strData: "+strData); System.out.println("param1: "+param1); System.out.println("param2: "+param2); return"success"; } publicStringgetStrData(){ returnstrData; } publicvoidsetStrData(StringstrData){ this.strData=strData; } publicStringgetPara
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- struts 连接 数据库