歌单管理系统——小型javaweb项目

一、项目运行截图:







二、项目用到的相关知识:

jsp动态页面,css样式,struts2,hibernate,sql server


三、项目运行步骤:

1.在myelipse里发布项目,并启动tomcat。



2.打开chrome,在地址栏输入http://localhost:8080/项目名/


3.输入数据库内预存的用户名密码,以及当前生成的验证码即可登录。


四、项目构建步骤:

1.新建项目




2.构建struts2环境。将struts2所需的jar包拷入WebRoot->WEB-INF->lib中


在src目录下创建struts.xml


内容如下:

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
        "http://struts.apache.org/dtds/struts-2.5.dtd">


<struts>
	<package name="default" extends="struts-default">
	</package>
	<constant name="struts.i18n.encoding" value="UTF-8"></constant>
</struts>

将WebRoot->WEB-INF->web.xml内容修改如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <display-name>aa</display-name>
  <!-- Filters -->
	<!-- START SNIPPET: filter -->
	<filter>
		<filter-name>action</filter-name>
		<filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
	</filter>
	<!-- END SNIPPET: filter -->

	<filter-mapping>
		<filter-name>action</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

	<welcome-file-list>
		<welcome-file>login.jsp</welcome-file>
	</welcome-file-list>
</web-app>

3.将sql server驱动拷入WebRoot->WEB-INF->lib中。(sqljdbc42.jar)


4.建立数据库

右键数据库->新建数据库


打开数据库AA,点击新建查询。

输入如下sql语句。

create table userTable
(  
id int identity(1,1) primary key not null, 
username varchar(20) not null, 
password varchar(50) not null, 
email varchar(20) not null,
birthday date  not null,
idnumber varchar(20) not null,
sex varchar(10) not null,
qualify varchar(50) not null
) 
create table musicTable
(  
id int identity(1,1) primary key not null, 
uploader varchar(20) not null,
songtitle varchar(30) not null, 
singer varchar(30) not null,
songimg varchar(20)  not null,
audiolength varchar(20) not null,
songarea varchar(20) not null

) 

insert into userTable values('root','root0000','root@163.com','1995-01-06','140211199701253265','男','大学本科')
insert into userTable values('root1','root10000','root1@163.com','1995-02-06','140211199801253265','女','大学本科')
insert into userTable values('root2','root20000','root2@163.com','1995-03-06','140211199901253265','男','专科')
insert into userTable values('root3','root30000','root3@163.com','1995-04-06','140211199001253265','女','大学本科')
insert into userTable values('root4','root40000','root4@163.com','1995-05-06','140211199701253265','男','大学本科')

insert into musicTable values('root','圣诞又至','鹿晗','1.jpg','04:40','内地')
insert into musicTable values('root1','狐狸','薛之谦','2.jpg','03:40','内地')
insert into musicTable values('root2','绒花','韩红','3.jpg','04:40','内地')
insert into musicTable values('root3','感觉自己是巨星','毛不易','4.jpg','04:30','内地')
insert into musicTable values('root4','易燃易爆炸','陈粒','5.jpg','04:40','内地')
insert into musicTable values('root','我在未来等你','齐秦','6.jpg','03:40','港台')
insert into musicTable values('root1','灰色 ','徐佳莹','7.jpg','04:40','港台')
insert into musicTable values('root2','叙述','毛不易','8.jpg','04:30','港台')
insert into musicTable values('root3','他不知道','陈志朋','9.jpg','03:40','港台')
insert into musicTable values('root4','凤凰于飞','林俊杰','10.jpg','04:43','港台')
insert into musicTable values('root','We Are The Brave','Lenka','11.jpg','04:40','欧美')
insert into musicTable values('root1','Thuunder','Dragons','12.jpg','03:40','欧美')
insert into musicTable values('root2','Perfect Duct','Beyonce','13.jpg','04:43','欧美')
insert into musicTable values('root3','Again Noah','Cyrus ','14.jpg','04:40','欧美')
insert into musicTable values('root4','Stir Fry','Migos','15.jpg','03:40','欧美')
insert into musicTable values('root','道','宇多田','16.jpg','04:30','日本')
insert into musicTable values('root1','Welcome To Tokyo','三代目','17.jpg','04:40','日本')
insert into musicTable values('root2','恋','星野源','18.jpg','04:40','日本')
insert into musicTable values('root3','极乐净土','GarniDelia','19.jpg','04:40','日本')
insert into musicTable values('root4','GoodBye Happiness','宇多田','20.jpg','04:40','日本')
insert into musicTable values('root','苦恼','Gary','21.jpg','04:40','韩国')
insert into musicTable values('root1','Birthday Remix','朴宰范','22.jpg','04:40','韩国')
insert into musicTable values('root2','Do My Thing','Beon','23.jpg','04:40','韩国')
insert into musicTable values('root3','Hello','SecenTeen','24.jpg','04:40','韩国')
insert into musicTable values('root4','I Just Red ','Velvet','25.jpg','04:40','韩国')

单击执行


右键登录名->新建登录名



单击确定

连接对象资源管理器


5.myeclipse连接数据库


右键->new


在src目录下建立四个包:action、bean、config、method


6.配置hibernate环境



7.hibernate自动关联数据库






结束之后,目录是这样。


8.在WebRoot目录下建立jsp页面:

add.jsp,del.jsp,error.jsp,hongkong.jsp,japan.jsp,korea,jsp,local.jsp,login.jsp,main.jsp,prelogout.jsp,register.jsp,registersucc.jsp,result.jsp,update.jsp,usa.jsp等页面。

各页面内容如下:

add.jsp

<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html>
<html>

	<head>
		<meta charset="utf-8">
		<title>主页</title>
		<link rel="stylesheet" type="text/css" href="css/style1.css">
	</head>

	<body>
		<div class="head">
			<div class="headcenter">
				<div class="logo-box">
					<a class="logo" ref="#"><img width="97" height="60" src="img/logo.png"></a>
				</div>

				<div class="search-box">
					<div class="search bar7">
					<s:form action="search">
						<input type="text" placeholder="请输入歌曲名称..." name="keyString">
						<button type="submit"></button>
						</s:form>
					</div>
				</div>
				<div class="center-box"></div>
				<div class="reset">
					<ul>
						<li>
							<a href="prelogout.jsp">注销</a>
						</li>
					</ul>
				</div>
			</div>
		</div>
		<div class="banner">
			<div class="banner-center">
				<div class="banner-li-box">
					<ul>
						<li><s:a href="find">首页</s:a></li>
		<li><s:a href="local">流行</s:a></li>
		<li><s:a href="hongkong">摇滚</s:a></li>
		<li><s:a href="usa">民族</s:a></li>
		<li><s:a href="japan">轻音乐</s:a></li>
		<li><s:a href="korea">蓝调</s:a></li>
						</ul>
				</div>
			</div>
			<div class="banner-li-box-center"></div>
			<div class="downandadd">
				<ul>
					<li>
						<a href="createMusicList">下载</a>
					</li>
					<li>
						<a href="add.jsp">添加</a>
					</li>
				</ul>
			</div>

		</div>
		<div class="main">
			<div class="main-center">
				<div class="center-up-up">
					<h2>添加歌曲</h2>
				</div>
				<div class="center-up">
					<div class="song-box">
					<s:form id="formf" method="post" theme="simple" action="upload"
		enctype="multipart/form-data">
		<table>
			<tr>
				<td>歌曲名称:<s:textfield id="inp" label="歌曲名称" name="music.songtitle"></s:textfield>
				</td>
			</tr>
			<tr>
				<td>歌手名字:<s:textfield id="inp" label="歌手名字" name="music.singer"></s:textfield></td>
			</tr>
			<tr>
				<td>歌曲封面:<s:file id="inp" label="歌曲封面" name="upload" /></td>
			</tr>
			<tr>
				<td>歌曲地区:<s:select id="inp" list="#{'内地':'内地','港台':'港台','欧美':'欧美','日本':'日本','韩国':'韩国'}"  headerValue="请选择歌曲地区" name="music.songarea">
				</s:select></td>

			</tr>
			<tr>
				<td>歌曲时长:<s:textfield id="inp" label="歌曲时长" name="music.audiolength"></s:textfield></td>
			</tr>
			<tr>
				<td>上传用户:<s:textfield id="inp" label="上传用户" name="music.uploader"></s:textfield></td>
			</tr>

			<tr>
				<td><s:submit id="submit" value="添加" /></td>
			</tr>
		</table>
	</s:form>
						

					</div>
				</div>
				<div class="center-down">
					
				</div>
			</div>
		</div>
		<div class="footer">
			<h4>王骏&copy;期末作品</h4>
		</div>

	</body>

</html>

del.jsp

<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html>
<html>

	<head>
		<meta charset="utf-8">
		<title>主页</title>
		<link rel="stylesheet" type="text/css" href="css/style1.css">
	</head>

	<body>
		<div class="head">
			<div class="headcenter">
				<div class="logo-box">
					<a class="logo" href="#"><img width="97" height="60" src="img/logo.png"></a>
				</div>

				<div class="search-box">
					<div class="search bar7">
					<s:form action="search">
						<input type="text" placeholder="请输入歌曲名称..." name="keyString">
						<button type="submit"></button>
						</s:form>
					</div>
				</div>
				<div class="center-box"></div>
				<div class="reset">
					<ul>
						<li>
							<a href="prelogout.jsp">注销</a>
						</li>
					</ul>
				</div>
			</div>
		</div>
		<div class="banner">
			<div class="banner-center">
				<div class="banner-li-box">
					<ul>
						<li><s:a href="find">首页</s:a></li>
		<li><s:a href="local">流行</s:a></li>
		<li><s:a href="hongkong">摇滚</s:a></li>
		<li><s:a href="usa">民族</s:a></li>
		<li><s:a href="japan">轻音乐</s:a></li>
		<li><s:a href="korea">蓝调</s:a></li>
						</ul>
				</div>
			</div>
			<div class="banner-li-box-center"></div>
			<div class="downandadd">
				<ul>
					<li>
						<a href="createMusicList">下载</a>
					</li>
					<li>
						<a href="add.jsp">添加</a>
					</li>
				</ul>
			</div>

		</div>
		<div class="main">
			<div class="main-center">
				<div class="center-up-up">
					<h2>是否确定删除歌曲?</h2>
				</div>
				<div class="center-up">
					<div class="song-box">
					<s:form id="formf" method="post" action="del">
		<table>
			<tr>
				<td><s:textfield id="inp" label="歌曲所在页码" name="pageNum"></s:textfield></td>
			</tr>
			<tr>
				<td><s:textfield id="inp" label="歌曲id" name="music.id"></s:textfield></td>
			</tr>

			<tr>
				<td><s:submit id="submit" value="确定删除" /></td>
			</tr>
		</table>
	</s:form>
						

					</div>
				</div>
				<div class="center-down">
					
				</div>
			</div>
		</div>
		<div class="footer">
			<h4>王骏&copy;期末作品</h4>
		</div>

	</body>

</html>

error.jsp

<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html>
<html>
<head>
<title>error</title>
</head>
<body>
	error!

</body>
</html>

hongkong.jsp

<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html>
<html>

	<head>
		<meta charset="utf-8">
		<title>hongkong</title>
		<link rel="stylesheet" type="text/css" href="css/style.css">
	</head>

	<body>
		<div class="head">
			<div class="headcenter">
				<div class="logo-box">
					<a class="logo" ref="#"><img width="97" height="60" src="img/logo.png"></a>
				</div>

				<div class="search-box">
					<div class="search bar7">
					<s:form action="search">
						<input type="text" placeholder="请输入歌曲名称..." name="keyString">
						<button type="submit"></button>
						</s:form>
					</div>
				</div>
				<div class="center-box"></div>
				<div class="reset">
					<ul>
						<li>
							<a href="prelogout.jsp">注销</a>
						</li>
					</ul>
				</div>
			</div>
		</div>
		<div class="banner">
			<div class="banner-center">
				<div class="banner-li-box">
					<ul>
						<li><s:a href="find">首页</s:a></li>
		<li><s:a href="local">流行</s:a></li>
		<li><s:a href="hongkong">摇滚</s:a></li>
		<li><s:a href="usa">民族</s:a></li>
		<li><s:a href="japan">轻音乐</s:a></li>
		<li><s:a href="korea">蓝调</s:a></li>
						</ul>
				</div>
			</div>
			<div class="banner-li-box-center"></div>
			<div class="downandadd">
				<ul>
					<li>
						<a href="createMusicList">下载</a>
					</li>
					<li>
						<a href="add.jsp">添加</a>
					</li>
				</ul>
			</div>

		</div>
		<div class="main">
			<div class="main-center">
				<div class="center-up-up">
					<h2>摇滚     共有<s:property value="Amount2" />首歌曲</h2>
				</div>
				<div class="center-up">
					<div class="song-box">
					<s:iterator value="list" var="music">
						<div class="song">
							<div class="one">
								<img alt="图片"
					src="${pageContext.servletContext.contextPath}/img/${songimg}" /></div>
							<div class="two">
								<div class="two-1">
									<h4><s:property value="#music.songtitle" /></h4>
								</div>
								<div class="two-2">
									<h4><s:property value="#music.singer" /></h4>
								</div>
								<div class="two-3">
									<h4><s:property value="#music.uploader" />   <s:property value="#music.audiolength" /></h4>
								</div>
							</div>
							<div class="three">
								<div class="three-1">
									<div class="update"><s:a href="preupdate?music.id=%{#music.id}&pageNum=%{pageNum}">修改</s:a></div>
									
								</div>
								<div class="three-2">
									<div class="delete"> <s:a href="predel?music.id=%{#music.id}&pageNum=%{pageNum}">删除</s:a></div>
									
								</div>
							</div>
						</div>
						</s:iterator>
						

					</div>
				</div>
				<div class="center-down">
					<ul>

						<li>
							<a>第<s:property value="pageNum2" />页|共<s:property
					value="totalpage2" />页
		</a>
						</li>

						<li>
							<s:url var="firstpage" action="hongkong">
				<s:param name="pageNum2">1</s:param>
				<s:param name="username">
						<s:property value="user.username" />
					</s:param>
			</s:url> <s:a href="%{firstpage}">首页</s:a>
						</li>

						<li>

							<s:if test="pageNum2!=1">
				<s:url var="prePage2" action="hongkong">
					<s:param name="pageNum2">
						<s:property value="pageNum2-1" />
					</s:param>
					<s:param name="username">
						<s:property value="user.username" />
					</s:param>
				</s:url>
				<s:a href="%{prePage}">上一页</s:a>
			</s:if>
						</li>
						<li>

							<s:if test="pageNum2!=totalpage2">
				<s:url var="nextPage" action="hongkong">
					<s:param name="pageNum2">
						<s:property value="pageNum2+1" />
					</s:param>
					<s:param name="username">
						<s:property value="user.username" />
					</s:param>
					
				</s:url>
				<s:a href="%{nextPage}">下一页</s:a>
			</s:if>
						</li>
						<li>
							<s:url var="lastPage2" action="hongkong">
				<s:param name="pageNum2">
					<s:property value="totalpage2" />
				</s:param>
				<s:param name="username">
						<s:property value="user.username" />
					</s:param>
			</s:url> <s:a href="%{lastPage}">末页</s:a>
						</li>
					</ul>
				</div>
			</div>
		</div>
		<div class="footer">
			<h4>王骏&copy;期末作品</h4>
		</div>

	</body>

</html>

japan.jsp

<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>

<!DOCTYPE html>
<html>

	<head>
		<meta charset="utf-8">
		<title>japan</title>
		<link rel="stylesheet" type="text/css" href="css/style.css">
	</head>

	<body>
		<div class="head">
			<div class="headcenter">
				<div class="logo-box">
					<a class="logo" ref="#"><img width="97" height="60" src="img/logo.png"></a>
				</div>

				<div class="search-box">
					<div class="search bar7">
					<s:form action="search">
						<input type="text" placeholder=
  • 5
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值