JSP能往数据库中写入数据无法修改数据的解决办法
JSP能够写入数据到数据库,说明数据库的连接不存在问题,不能够修改数据可能为一下原因:
- JSP和Servlet传值的时候没能传递过去
- Servlet和DAO之间传值出现问题
- DAO操作数据库的Update语句有问题
- 其他问题
查看LOG后发现报错为introduc行出现了错误,设置断点进行单步调试
发现传过来的introduc值乱码,进而看数据库中introduc表单的信息
发现表单中有属性不是utf-8,于是删除表单重新建立introduc表单
再进行断点调试,发现name的值为后面introduc的值,introduc的值为后面photosrc的值,发现传值错位了
隧注释掉DAO文件中第一行再进行调试,发现仍然报错,于是将第一行放在最后将getName设置为1,getIntroduc设置为2……getId设置为5最终解决了修改不了的问题
解决玩修改不了的问题后发现传输中文乱码,在网上找到方法如下:
[1]http://blog.csdn.net/shuiyan/article/details/49722395
在JSP的开头,一定要有:
[html] view plain copy
1. <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
在servlet文件xxx.java的doGet或者doPost开头,要有
[java] view plain copy
1. response.setHeader("content-type", "text/html;charset=UTF-8");
2. response.setCharacterEncoding("UTF-8");
3. request.setCharacterEncoding("UTF-8");
这样,基本能确保两者间互传值中文的正确。