struts连接数据库.docx

上传人:b****7 文档编号:25108050 上传时间:2023-06-05 格式:DOCX 页数:28 大小:321.43KB
下载 相关 举报
struts连接数据库.docx_第1页
第1页 / 共28页
struts连接数据库.docx_第2页
第2页 / 共28页
struts连接数据库.docx_第3页
第3页 / 共28页
struts连接数据库.docx_第4页
第4页 / 共28页
struts连接数据库.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

struts连接数据库.docx

《struts连接数据库.docx》由会员分享,可在线阅读,更多相关《struts连接数据库.docx(28页珍藏版)》请在冰豆网上搜索。

struts连接数据库.docx

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">

struts

struts

org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

struts

*.action

 

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{

ListqueryAllMusic();

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

publicListqueryAllMusic(){

//TODOAuto-generatedmethodstub

Listlist=newArrayList<>();

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{

ListqueryAllMusic();

}

MusicServiecImpl.java

packageservice;

importjava.util.List;

importdao.MusicDao;

importdao.MusicDaoImpl;

importvo.Music;

publicclassMusicServiceImplimplementsMusicService{

MusicDaomusic=newMusicDaoImpl();//父类引用指向子类多态

@Override

publicListqueryAllMusic(){//ADD自动生成的根据方法

//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">

--

/jsp/success.jsp

/jsp/error.jsp

MusicManager.java

packageaction;

importjava.util.List;

importservice.MusicServiceImpl;

importvo.Music;

publicclassMusicManager{

privateMusicmusic;//Music实体类

privateListmusicList;//定义集合用来显示数据库的数据

publicStringqueryAllMusic(){//这个是struts中的method方法

musicList=newMusicServiceImpl().queryAllMusic();

if(musicList!

=null){

return"success";

}else{

return"error";

}

}

publicMusicgetMusic(){

returnmusic;

}

publicvoidsetMusic(Musicmusic){

this.music=music;

}

publicListgetMusicList(){

returnmusicList;

}

publicvoidsetMusicList(ListmusicList){

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">

Inserttitlehere

查询音乐

--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">

Inserttitlehere

<%

ListmusicList=(List)request.getAttribute("musicList");/*java脚本要写《%request.getAttribute("musicList")返回的是对象必须强转*/

%>

<%

for(inti=0;i

%>

--返回到界面的返回信息是vo实体层的变量而Musicmusic=newMusic();把数据库的信息封装到bean中music.setMusicNo(rs.getInt("MUSIC_ID"));-->

<%}%>

歌曲编号歌曲名称演唱者歌曲长度歌曲类型操作
<%=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:

中的name属性,

!

分隔符

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中的方法-->

--

/jsp/success.jsp

queryOrDeleteAction!

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">

struts2

struts

org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

struts

*.action

Struts.xml

xmlversion="1.0"encoding="UTF-8"?

>

DOCTYPEstrutsPUBLIC

"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.3//EN"

"http:

//struts.apache.org/dtds/struts-2.3.dtd">

--超链接-->

图图

妈妈

chainData

--Action1跳转Action2-->

--通过sendData转发过来的参数,优先级高于自己同名的参数,所以param1值为上一个Action中的param1的值其它值可以转发到下一个Action中-->

爸爸

/success.jsp

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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 预防医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1