2022首次更文挑战第14天 | 电影系统增加电影

125 阅读2分钟

「这是我参与2022首次更文挑战的第14天,活动详情查看:2022首次更文挑战

这一篇主要讲新增电影

实现效果如下: 在这里插入图片描述

在这里插入图片描述

前端页面代码:

<body leftmargin="2" topmargin="9" background='<%=path %>/images/allbg.gif'>
	<form action="<%=path %>/goodsNoTejiaAdd.action" name="formAdd" method="post" enctype="multipart/form-data">
		     <table width="98%" align="center" border="0" cellpadding="4" cellspacing="1" bgcolor="#CBD8AC" style="margin-bottom:8px">
				<tr bgcolor="#EEF4EA">
			        <td colspan="3" background="<%=path %>/images/wbg.gif" class='title'><span>电影票管理</span></td>
			    </tr>
				<tr align='center' bgcolor="#FFFFFF" onMouseMove="javascript:this.bgColor='red';" onMouseOut="javascript:this.bgColor='#FFFFFF';" height="22">
				    <td width="25%" bgcolor="#FFFFFF" align="right">
				         电影类别:
				    </td>
				    <td width="75%" bgcolor="#FFFFFF" align="left">
				        <table>
				           <tr>
				               <td>
				                  <select name="goodsCatelogId" id="goodsCatelogId" onclick="goodsCatelogSelect()">
						             <option value="0">--请选择电影类别--</option>
						          </select>
				               </td>
				               <td>
				                   <img id="indicator" src="<%=path %>/img/loading.gif" style="display:none"/>
				               </td>
				           </tr>
				        </table>
				    </td>
				</tr>
				<tr align='center' bgcolor="#FFFFFF" onMouseMove="javascript:this.bgColor='red';" onMouseOut="javascript:this.bgColor='#FFFFFF';" height="22">
				    <td width="25%" bgcolor="#FFFFFF" align="right">
				         电影名称:
				    </td>
				    <td width="75%" bgcolor="#FFFFFF" align="left">
				        <input type="text" name="goodsName" size="20"/>
				    </td>
				</tr>
				<tr align='center' bgcolor="#FFFFFF" onMouseMove="javascript:this.bgColor='red';" onMouseOut="javascript:this.bgColor='#FFFFFF';" height="22">
				    <td width="25%" bgcolor="#FFFFFF" align="right">
				        电影介绍:
				    </td>
				    <td width="75%" bgcolor="#FFFFFF" align="left">
				        <FCK:editor instanceName="goodsMiaoshu"  basePath="/fckeditor" width="500" height="200" value="请输入内容" toolbarSet="Basic">
	                             </FCK:editor>
				    </td>
				</tr>
				<tr align='center' bgcolor="#FFFFFF" onMouseMove="javascript:this.bgColor='red';" onMouseOut="javascript:this.bgColor='#FFFFFF';" height="22">
				    <td width="25%" bgcolor="#FFFFFF" align="right">
				         图片:
				    </td>
				    <td width="75%" bgcolor="#FFFFFF" align="left">
				        <input type="text" name="fujian" id="fujian" size="30" readonly="readonly"/>
				        <input type="button" value="上传" onclick="up()"/>
				        <input type="hidden" name="fujianYuanshiming" id="fujianYuanshiming"/>
				    </td>
				</tr>
				<tr align='center' bgcolor="#FFFFFF" onMouseMove="javascript:this.bgColor='red';" onMouseOut="javascript:this.bgColor='#FFFFFF';" height="22">
				    <td width="25%" bgcolor="#FFFFFF" align="right">
				         价格:
				    </td>
				    <td width="75%" bgcolor="#FFFFFF" align="left">
				        <input type="text" name="goodsShichangjia" size="20" onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')"/>
				    </td>
				</tr>
				<tr style="display: none" align='center' bgcolor="#FFFFFF" onMouseMove="javascript:this.bgColor='red';" onMouseOut="javascript:this.bgColor='#FFFFFF';" height="22">
				    <td width="25%" bgcolor="#FFFFFF" align="right">
				         特格:
				    </td>
				    <td width="75%" bgcolor="#FFFFFF" align="left">
				        <input type="text" name="goodsTejia" size="20" value="0" onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')"/>
				        (<font color="red">特格为0表示没有特价</font>)
				    </td>
				</tr>
				<tr align='center' bgcolor="#FFFFFF" onMouseMove="javascript:this.bgColor='red';" onMouseOut="javascript:this.bgColor='#FFFFFF';" height="22">
				    <td width="25%" bgcolor="#FFFFFF" align="right">
				        &nbsp;
				    </td>
				    <td width="75%" bgcolor="#FFFFFF" align="left">
				       <input type="button" value="提交" onclick="check()"/>&nbsp; 
				       <input type="reset" value="重置"/>&nbsp;
				    </td>
				</tr>
			 </table>
	</form>
</body>

后端代码:

public String goodsNoTejiaAdd()
{
	TGoods goods=new TGoods();
	goods.setGoodsCatelogId(goodsCatelogId);
	goods.setGoodsName(goodsName);
	goods.setGoodsMiaoshu(goodsMiaoshu);
	goods.setGoodsPic(fujian);
	goods.setGoodsShichangjia(goodsShichangjia);
	if(goodsTejia==0)//特格为0表示没有特价
	{
		goods.setGoodsTejia(goodsShichangjia);// 如果不是特价苗圃。把这个苗圃的特价设置为市场价格
		goods.setGoodsIsnottejia("no");
	}
	else
	{
		goods.setGoodsTejia(goodsTejia);
		goods.setGoodsIsnottejia("yes");
	}
	
	goods.setGoodsKucun(goodsKucun);
	goods.setGoodsDel("no");
	
	goodsDAO.save(goods);
	this.setMessage("操作成功");
	this.setPath("goodsManaNoTejia.action");
	return "succeed";
	
}

后端代码,要插入的数据是t_goods表,前端会传入电影类别,电影名称,电影介绍,电影图片(页面),价格,后端这里接收之后,把这些信息,全保存在t_goods表,首页和管理端界面都可以查询新增加的电影了。

示例:我们选择新插入电影,泰坦尼克号,我们选择电影类别为爱情,电影名称为泰坦尼克号,电影介绍,字段类型选择varchar就行,这里就有同学会问,那我选择blob,或者text类型不可以吗,不是不可以,可以,我们如果能用varchar处理这些大文本内容的话,就尽量用varchar存储,varchar可以指定上限字符varchar(4000)。如果一个表很多字段是blob,或者text类型,那么设计很有可能不合理,加载慢,耗内存,尤其是现在的电影有好多部,成千上万,如果都是用blob,或者text类型来存储,加载会卡的一批,varcahr也可以存储图片的,把图片地址存进去即可。

在这里插入图片描述

在这里插入图片描述

如上图,我这里再电影介绍里,选择了插入图片。图片上传选项,是作为宣传电影海报的,接着是定电影价格。 最后点击提交即可。

在这里插入图片描述

这里就可以看到新增加的电影成功了。

这里提一下文件上传功能

File serverFile = new File(fileDir.getAbsolutePath() + "/" + combinationFileName);
//输出流,读出数据
in = file.getInputStream();
//输入流,写入数据
out = new FileOutputStream(serverFile);
byte[] b = new byte[1024 * 50];// 使用缓存
int len;
//把读出的数据赋予len
while ((len = in.read(b)) > 0) {
    //输出数据
    out.write(b, 0, len);
}

新创建文件File fiel = new File(""),提供输入流in = file.getInputStream();,是为了读取数据的,写入文件out.write(b, 0, len);,最后记得关闭流in.close(),out.close()

以上是电影系统中新增加电影的功能的介绍。