1.sql数据库在进行模糊查询时,可以使用“%”+内容+“%”的方式防止sql注入
public List<Movies> findmovie(String findmovieName) throws SQLException {
String sql="select * from movies where movieName like ?";
return qr.query(sql, new BeanListHandler<Movies>(Movies.class),"%"+findmovieName+"%");
}
2.通过js的document.getElementsByName()获取name值为空时,可以尝试把script 语句写在html文件最下端,因为html文件是从上到下加载的
ps:感谢博主yanln!
3.group by可以用于数据库查重,只选取某个值相同的多个数据中的一个,缺点是不能操作太多数据
4.出现java.lang.IndexOutOfBoundsException的异常时,检查数组是否越界获取或者空数组取值的情况
ps:这个错误比较低端,写出来警示自己
for(int i=0;i<=MovieSeat.size();i++){
h[i]=MovieSeat.get(i).getSeatH();
j[i]=MovieSeat.get(i).getSeatJ();
seat[h[i]-1][j[i]-1]="1";
}
//错误原因:i<=MovieSeat.size(),从0开始到.size()结束即会越界
5 .判断是否为空,数组可以使用.length!=0或者.size(),字符串用.equals()【注意当判断的数据值可能为空时,将后面的判断条件字符写在前面,如“123”.equals(str)】
PS: str!=" "也可以用于判断是否为空
6.转发和重定向: resp.sendRedirect()重定向会清除session保存的值,所以req.setAttribute(req,resp)会失效,但在jsp文件中可以使用sessionScope.sessionUser.loginname来读取信息【sessionUser为保存在scope域的用户对象,loginname为对象属性】
转发:不会清除session,但在servlet里提交表单转发后,导致刷新页面报空指针异常
RequestDispatcher dispatcher=req.getRequestDispatcher("/");
dispatcher.forward(req,resp);
7 .获取url地址里的参数传递
var urlstr = location.href;
var url=urlstr.substring(urlstr.indexOf("%"),urlstr.length);
//%一般为转码时中文字符的开头,str.substring(indexOf(),str.length)方法可以用于截取字符串
var a = decodeURI(decodeURI(url));
8 .字符串string转换int
String ID=req.getParameter("Id");
//此为getParameter方法获取ID的值,正常的数字类型的String亦可
//当字符串里有不能被转换的数据存在时,会报错,可以抛异常处理
int a = Integer.parseInt(ID);
9 .当<c:forEach>标签里没有items值时,可以当做普通循环使用
ps:下面的代码用于循环输出一个9x9的盒子,注意两个循环中间的大盒子是必需的,并且要清除浮动,否则样式会错误
<c:forEach begin="0" end="8" varStatus="st1">
<div style="clear:left;">
<c:forEach begin="0" end="8" varStatus="st2">
<c:forEach items="SeatList" var="seat">
<c:if test="${1!=SeatList[st1.index][st2.index]}">
<div class="seat" id="${st1.index}${st2.index}"style="float:left;" onclick="change(this.id)"></div>
</c:if>
<c:if test="${1==SeatList[st1.index][st2.index]}">
<div class="seat" id="${st1.index}${st2.index}" style="float:left;background:red;" ></div>
</c:if>
</c:forEach>
</c:forEach>
</div>
</c:forEach>
***10 .form表单里设置enctype=multipart/form-data后,文件上传为null,删掉可以上传(原因未知,待解决) ***