欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

项目一总结

程序员文章站 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里即可解决。