这就是我的真实写照了,干了一天终于把这个完成了,其实思路都蛮清晰的,就是细节上的处理,尤其是自己代码不规范造成的诸多bug,so在睡觉前整理一波,也不枉费一天的搬砖搬砖搬砖。
代码效果展示
用户登录:
用户注册:
管理员登录:
用户登录留言板界面:
添加留言界面:
管理员登录后的界面:
网页细节的处理
- 在用户登录成功或失败后,用alert弹框进行处理
- 用户登录成功后,显示用户名称,并提醒文明发言
- 用户在进行修改时进行信息的回显
…
BUG总结
- 在进行数据库处理时,经常出现空指针异常,可以提前用Junit进行测试。
- 在@webServlet(“/addxxServlet”)或者web.xml中**这个/**千万不能丢,丢了服务器未启动就一堆错误
- 在数据库搭建好以后,先进行测试,再与小项目对接,比如乱码或者代码写错啥的,在对接项目后找是非常费时的。
- 记住response与request的区别,记住转发与重定向的区别,兄弟!!!
- 在建目录时要规范,根据MVC开发模式建立目录,我建的有问题的可以告诉我!!!
- 导入JAR包或者用Maven导入依赖时,JAR包得选好,比如再导入数据库的连接JAR包是高版本的能兼容低版本的,但低版本的就不行,我一直用的就是5.1.6版本的,挺好的!!!
- 在写代码之前要先画图,或者在电脑上写一个思维导图,理清楚再下手写,可以节约很多时间
- JSTL与EL表达式是真的好用,那些Bootstrap框架会用就行,多看官方文档
最后找BUG解决BUG的过程虽然难熬,但结果总是好的
哈哈哈哈
部分代码总结
1.跳转首页
//直接跳转首页
window.location.href="${pageContext.request.contextPath}/login.jsp";
2.在进行登录判断时,现在Servlet中进行判断再在login.jsp中回显
Servlet
if(user==null){
//登录失败
resp.sendRedirect("login.jsp?error=yes");
}
login.jsp
<script>
var error='<%=request.getParameter("error")%>';
if(error=='yes'){
alert("登录失败");
}
</script>
3.输出表格时,用JSTL很方便。
<c:forEach items="${news}" var="ly" varStatus="s">
<tr>
<td>${s.count}</td>
<td>${ly.username}</td>
<td>${ly.content}</td>
<td><a class="btn btn-default btn-sm" href="findNewsServlet?id=${ly.id}&username=<%= request.getParameter("username")%>">修改</a></td>
</tr>
</c:forEach>
4.连接数据库时,建议用jdbc.properties当然用连接池技术更好。
5.在cn.xxx下面建立test包可以在里面建立类进行Junit测试,类名得注意,一般是测试类名+Test
比如这段代码就是用来测试数据库连接的,方便!!!
@Test
public void test(){
Connection conn = null;
try {
conn= JDBCUtils.getConnection();
System.out.println(conn);
} catch (SQLException e) {
e.printStackTrace();
}
}
6.BeanUtils这个工具类节省太多时间了,非常好用
全部代码的详解,在下篇文章里!!!
长路漫漫,JAVA为伴!!!