今天在进行前后端交互时出现先这样了一个错误,后端控制台报了java.sql.SQLIntegrityConstraintViolationException: Column 'pwd' cannot be null,找了半天发现是servlet没有取到jsp中form表单提交的数据导致update语句执行失败,究其原因是servlet取参数时与前端变量名未写一致!
jsp中代码片段
<div class="formbody">
<div class="formtitle"><span>修改密码信息</span></div>
<form action="user" method="post" id="fm" target="_top">
<input type="hidden" name="oper" value="pwd"/>
<ul class="forminfo">
<li><label>新密码</label><input name="newpwd" id="newpwd" type="text" class="dfinput" /><i></i></li>
<li><label>确认密码</label><input name="cfpwd" id="cfpwd" type="text" class="dfinput" /><i></i></li>
<li><label> </label><input name="" type="submit" class="btn" value="确认修改"/></li>
</ul>
</form>
</div>
servlet代码片段
String newPwd=req.getParameter("newPwd");
User u=(User)req.getSession().getAttribute("user");
int uid=u.getUid();
当然出现这种错误的原因不止一种,有的是一些细节的语法错误导致的,这是其中一种,仅供参考