项目一总结
程序员文章站
2022-07-03 12:18:47
...
忙了大概两个礼拜,终于是把项目忙完了(应该吧,希望不要有什么bug,有也懒得修了)。
这也是我的第一个比较正式的项目(练习),因为从项目里学习到了很多新的东西,所以打算记录下来防止以后遗忘,也可以给同样是新人的你们作为参考。
按顺序,首先是登录部分的验证码。由于验证部分是放在.java文件里验证,所以涉及到将验证码图片里的内容提交到.java文件中。目前所用到的是<input>标签里的hidden,在点击的输入验证码的时候,设置这个隐藏的input,在提交的时候通过这个隐藏的input,把两个验证码一起提交到.java文件中。
代码如下:
<tr>
<td><h4>验证码</h4></td>
<td>
<input type="text" name="vcode" id="inputCode" value="" placeholder="请输入验证码" onclick="setHidden()"/>
<div class="code" name="acode" id="checkCode" onclick="createCode()" >
</td>
<input type="hidden" id="rcode" name="rcode">
</tr>
第二个是用户登录问题,因为是网页端,所以用户可能通过地址,省略了登录部分,直接跳到主页的部分去。而且在主页中有jsp的代码,但是却又得不到登录用户的信息,就会发生报错(500)。
这里先说一下我理解的jsp。为了方便在.jsp文件里使用java语言,所以就有了jsp。而在.jsp文件中诸如<%%>这样的地方,会像c语言的宏定义一样在程序执行之前优先被替换,如果用户没有登录的话,在此时就会产生空指针,从而发生错误。
既然知道了原因,那么解决起来也不难了。
代码如下:
<%
User user = new User();
if (application.getAttribute("user") != null) {
user = (User)application.getAttribute("user");
}
%>
//判断是否有用户登录
if (<%=user.getId().equals("空")%>) {
alert("请先登录");
window.location.href = 'login.html';
}
将这块内容写在函数中,放到onload里即可解决。
上一篇: 重构——如何抽离数据组装的代码片段?