返回顶部

javaweb课程开发实训知识点随记

java.lang.NumberFormatException: empty String

在将字符串强制转换成double时,数据库查询的result字段值为空字符串,而强制转换成double类型的值不能为null或"",这样就导致报错。

解决方法:将强制转换前判断result是否为空字符串。

java中字符串判空

"".equals(str); 

不能用==

jstl利用循环forEach

1)累加数据

<c:set var="sum" value="0"/>
    <c:set var="cnt" value="0"/>
    <c:forEach items="${pageBean.data}" var="p">
        <c:set var="sum" value="${sum+p.NowPrice}"/>
        <c:set var="cnt" value="${cnt+1}"/>
    </c:forEach>
    <table><tr>
        <td style="font-size: 20px; color: red;">*七天*均价格为:${sum/cnt}</td></tr></table>

2)实现动态下拉列表

<select name="selectcate" style="width: 100px;height: 30px;">
            <option value="">全部类别</option>
            <c:forEach  var="cate" items="${category.data}">
                <option value="${cate.HaCate}">${cate.HaCate}</option>
            </c:forEach>
        </select>

MySQL实现表的级联删除

一般来说,表有外键的话,外键字段必须要建索引。

原因是如果没有索引,插入数据时会锁住整张表,而不是特定的行,这样高并发时就有性能问题。

ON DELETE CASCADE 级联删除
ON UPDATE CASCADE 级联更新

删除/添加外键约束:

alter table hardware drop foreign key hardware_ibfk_1;
alter table hardware add constraint hardware_ibfk_1 foreign key (HaCate) references catagory (HaCate) on delete cascade on update cascade;

MySQL查找几天内数据

//包含当天
SELECT * FROM 表名 WHERE DATEDIFF(字段,NOW())<=0 AND DATEDIFF(字段,NOW())>-n
//不包含当天
SELECT * FROM 表名 WHERE DATEDIFF(字段,NOW())<0 AND DATEDIFF(字段,NOW())>-n

文件上传

思路:最终只用存地址到数据库中,但是需要把文件真实存入项目目录下。

文件上传jsp页面的表单提交形式以二进制流文件输出

<form action="${pageContext.request.contextPath}/UploadServlet" method="post" enctype="multipart/form-data">

提交到servlet后:

  • 调用ServletFileUpload API
Boolean isMultipart = ServletFileUpload.isMultipartContent(request);
//解析和检查请求,是否是post方式,是否是二进制流格式
        if (!isMultipart) {
            return; //如果不是就不用上传了
        }
  • isFormField()判断某项是否为普通表单类型(file就不是)
for (FileItem item : items) {
	if (item.isFormField()) {//普通的表单控件
		if (fileName.equals("HaNo")) {//获取表单属性HaNo的值             
			HaNo = item.getString("GB2312");
		}
	}
}   
  • 将文件存入某个路径
item.write(new File(path, realname)); //把上传的文件保存到某个文件中

项目已上传GitHub https://github.com/JiYixhu/DatabasePT

posted @ 2020-03-17 15:01  席懿  阅读(219)  评论(0编辑  收藏  举报