这是个音乐播放列表

1、queryMusic.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><base href="<%=basePath%>"><title>Music List</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0">    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--></head><body><table border="1" cellpadding="0" cellspacing="0" width="700" height="300"><tr height="200"><td align="center">序号</td><td align="center">歌曲名</td><td align="center">歌手名</td><td align="center">歌曲大小</td><td align="center">试听</td><td align="center">下载</td><td align="center">操作</td></tr><s:iterator var="music" value="musicList" status="no"><tr><td align="center">${no.count}</td><td align="center">${music.musicName}</td><td align="center">${music.singer}</td><td align="center">${music.size}</td><td align="center"><img src="data:image/st.png" /></td><td align="center"><img src="data:image/xz.png" /></td><td align="center"><a href="#">删除</a></td></tr></s:iterator></table></body>
</html>

2、Music.java

package com.cn.pojo;public class Music {private String musicName;private String singer;private String size;public String getMusicName() {return musicName;}public void setMusicName(String musicName) {this.musicName = musicName;}public String getSinger() {return singer;}public void setSinger(String singer) {this.singer = singer;}public String getSize() {return size;}public void setSize(String size) {this.size = size;}public Music() {super();}public Music(String musicName, String singer, String size) {super();this.musicName = musicName;this.singer = singer;this.size = size;}}

3、DBHelper.java

package com.cn.tools;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;/*** 获取数据库操作的连接对象* 关闭数据库操作的各种资源* @author 晏先政**/
public class DBHelper {private static final String className = "com.mysql.jdbc.Driver";private static final String url = "jdbc:mysql://localhost:3306/tlx?characterEncoding=utf8&useSSL=true";private static final String uname = "root";private static final String upass = "211599100yxz";/*** 获取数据库连接对象的方法*/public static Connection getConn(){Connection conn = null;try{Class.forName(className);conn = DriverManager.getConnection(url,uname, upass);} catch(Exception e){e.printStackTrace();}return conn;}/*** 关闭数据库连接对象*/public static void closeConn(Connection conn){try{if(conn!=null){conn.close();}} catch(Exception e){e.printStackTrace();}}/*** 关闭数据库操作对象*/public static void closeStmt(Statement stmt){try{if(stmt!=null){stmt.close();}} catch(Exception e){e.printStackTrace();}}/*** 关闭数据库操作对象*/public static void closePstmt(PreparedStatement pstmt){try{if(pstmt!=null){pstmt.close();}} catch(Exception e){e.printStackTrace();}}/*** 关闭数据库操作对象*/public static void closeRs(ResultSet rs){try{if(rs!=null){rs.close();}} catch(Exception e){e.printStackTrace();}}
}

4、MusicDao.java

package com.cn.dao;import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;import javax.servlet.jsp.jstl.sql.Result;
import javax.servlet.jsp.jstl.sql.ResultSupport;import com.cn.pojo.Music;
import com.cn.tools.DBHelper;public class MusicDao {private Connection conn = null;private PreparedStatement pstmt = null;private ResultSet rs = null;public void addMusic(Music music){try {conn = DBHelper.getConn();String sql = "insert into music_info(musicName,singer,size) values(?,?,?)";PreparedStatement pstmt = conn.prepareStatement(sql);pstmt.setString(1, music.getMusicName());pstmt.setString(2, music.getSinger());pstmt.setString(3, music.getSize());pstmt.execute();} catch (Exception e) {e.printStackTrace();}finally{DBHelper.closePstmt(pstmt);DBHelper.closeConn(conn);}}public List<Music> queryMusic() {List<Music> musicList = new ArrayList<Music>();
//        Music music = new Music();try {conn = DBHelper.getConn();String sql = "select * from music_info";pstmt = conn.prepareStatement(sql);rs = pstmt.executeQuery();Result rst = ResultSupport.toResult(rs);Map[] rows = rst.getRows();for(Map row:rows){String musicName = row.get("musicName").toString();String singer = row.get("singer").toString();String size = row.get("size").toString();Music music = new Music(musicName,singer,size);musicList.add(music);System.out.println(musicList);}                } catch (Exception e) {e.printStackTrace();}finally{DBHelper.closeRs(rs);DBHelper.closePstmt(pstmt);DBHelper.closeConn(conn);}return musicList;}public void deleteMusic(){}public void updateMusic(Music music) {// TODO Auto-generated method stub
        }
}

5、MusicManagerAction.java

package com.cn.action;import java.util.List;import com.cn.dao.MusicDao;
import com.cn.pojo.Music;public class MusicManagerAction {private List<Music> musicList;private MusicDao musicDao = new MusicDao();private Music music;public String queryMusic(){musicList = musicDao.queryMusic();System.out.println(musicList);return "queryMusic";}public String deleteMusic(){musicDao.deleteMusic();musicList = musicDao.queryMusic();return "deletemusic";}public String addMusic(){musicDao.addMusic(music);return "addMusic";}public String updateMusic(){musicDao.updateMusic(music);return "updatemusic";}public List<Music> getMusicList() {return musicList;}public void setMusicList(List<Music> musicList) {this.musicList = musicList;}}

6、struts.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN""http://struts.apache.org/dtds/struts-2.3.dtd"><struts><constant name="struts.action.extension" value="do"></constant><!-- 实现对动态调用的支持 --><constant name="struts.enable.DynamicMethodInvocation" value="true"></constant><package name="test" namespace="/" extends="struts-default"><action name="labelAction_*" class="com.cn.action.LabelAction" method="{1}"><result name="{1}">/{1}.jsp</result></action><action name="MusicManagerAction" class="com.cn.action.MusicManagerAction"><result name="queryMusic">/queryMusic.jsp</result><result name="deleteMusic">/queryMusic.jsp</result><result name="addMusic" type="redirectAction"><param name="actionName">MusicManagerAction</param><param name="method">queryMusic</param></result><result name="updateMusic" type="redirectAction"><param name="actionName">MusicManagerAction</param><param name="method">queryMusic</param></result></action><action name="UserManagerAction_*" class="com.cn.action.UserManagerAction" method="{1}"><result name="{1}">/register.jsp</result></action></package></struts>

转载于:https://www.cnblogs.com/Vito-Yan/p/7429497.html

Struts2标签库相关推荐

  1. java struts2标签库 常用标签

    基本概述 对于一个MVC框架而言,重点是实现两部分:业务逻辑控制器部分和视图页面部分.Struts2作为一个优秀的MVC框架,也把重点放在了这两部分上.控制器主要由Action来提供支持,而视图则是由 ...

  2. Struts2标签库和OGNL

    学习内容 Struts 2标签库 OGNL 能力目标 熟练使用Struts 2常用标签 熟练使用OGNL 本章简介 前面我们编写的案例使用的都是HTML标签,这些标签并不能很好的与Struts 2框架 ...

  3. Struts2标签库常用标签

    Struts2标签库常用标签 基本概述 对于一个MVC框架而言,重点是实现两部分:业务逻辑控制器部分和视图页面部分.Struts2作为一个优秀的MVC框架,也把重点放在了这两部分上.控制器主要由Act ...

  4. Struts2标签库整理【完整】

    转自:https://blog.csdn.net/chen_zw/article/details/8161230   Struts2标签库提供了主题.模板支持,极大地简化了视图页面的编写,而且,str ...

  5. Struts2 标签库

    Struts 2标签简介 Struts 标签分类 使用Struts标签库 OGNL OGNL集合运算 OGNL表达式对静态属性的访问 控制标签 if/else if/else iterator gen ...

  6. Struts2标签库常用标签(转)

    struts2标签讲解 要使用Struts2的标签,只需要在JSP页面添加如下一行定义即可:<%@ taglib prefix="s" uri="/struts-t ...

  7. servlet 和 struts2 同时使用 以及 使用struts2标签库时报错

    做网页的时候 想让 servlet 和 struts 都有效. 但是在过滤的时候出了点问题: 就是 过滤器的*.action 的时候 struts 标签库失效的问题 我觉得以下是个不错的 解决方案: ...

  8. 框架神器:struts2标签库

    楼下的同学讲到了框架struts2,那么我们就提前预习一下功课,继续学习标签的运用,我表示JSP标签学得也是特别的萌啊. 下面就介绍每个标签的具体应用实例说明:按字母排列 A: 1. <s:a ...

  9. Struts2 标签库讲解

    要使用Struts2的标签,只需要在JSP页面添加如下一行定义即可: <%@ taglib prefix="s" uri="/struts-tags"%& ...

最新文章

  1. x264各个版本下载
  2. 数字图像处理实验(7):PROJECT 04-03 , Lowpass Filtering
  3. Navicat for MySQL - 破解
  4. Redis 压缩列表原理与应用分析
  5. 给模型添加ORM,与持久化记录
  6. Tpos时间定位表达式
  7. 安装和启动tftp-server服务器及可能出现Redirecting to /bin/systemctl restart xinetd.service问题的解决方式...
  8. 修改Nodejs内置的npm默认配置路径
  9. hive之经典sql面试题
  10. 无刷直流电动机及其控制
  11. inet addr、bcast、mask
  12. 类似元气骑士的九宫格随机地图实现
  13. 来了超火爆的Java游戏羊了个羊_java开发游戏项目
  14. Java爬虫学习一一Jsoup爬取彼岸桌面分类下的图片
  15. 行业云服务——乐视云点播服务试用体验
  16. 利用BibTeX批量导入参考文献
  17. 系统集成项目管理工程师3知识点
  18. 基于 HTML5 WebGL 的高炉炼铁厂可视化系统
  19. vue项目报eslint格式错误解决方案
  20. ARM Linux中断机制分析

热门文章

  1. 2022-2028年中国微藻行业市场调查研究及前瞻分析报告
  2. 2022-2028年中国网络直播行业深度调研及投资前景预测报告
  3. 2022-2028年中国生物基塑料产业发展动态及投资前景分析报告
  4. 2022-2028年中国橡胶密封制品行业市场研究及前瞻分析报告
  5. Docker 入门系列(5)- Docker 端口映射(映射所有IP地址、映射到指定地址和指定端口、映射指定地址任意端口、查看映射端口配置)
  6. 【UML建模】机房中的UML图
  7. 面向过程(或者叫结构化)分析方法与面向对象分析方法到底区别在哪里?
  8. Levenshtein distance 编辑距离算法
  9. tensorflow 学习笔记-- tf.reduce_max、tf.sequence_mask
  10. MLIR: Infrastructure架构