博主作为一个javaEE 菜鸡,这两天用Servlet+Tomcat+XML 开发了一个通讯录系统
需求:
1.主页面显示全部的联系人
2.进行联系人的增删改查操作
现写下开发思路
1.首先数据字典用XML作为存储,dom4j+xpath工具包来负责数据的增删改查
2.创建模型包,id+name+gender+sex+email+QQ
3.创建dao包,创建借口,存放static的增删改查方法
4.创建servlet包,用来动态显示数据+处理数据
5.JavaScript辅助输入正确格式
6.web包下放置jsp文件
遇到的问题:
1.博主统一用GBK作为编码格式,在前端传参到后端时,后台接受的中文参数解码为 ??
原因:tomcat默认utf-8解码,后台无法正确解码参数
解决方案:在tomcat的server.xml中的<Connector>中添加URLEncoding=“GBK”
2.在form的action使用 /UpdatePage?id=“+model.getId(),无法传id的参数
原因:提交表单的时候,表单的数据会将id的参数覆盖
解决方法:将id的值作为input的值写在表单中,并设置为隐藏,在表单提交时,id值便会一起随着其他input的value一起提交
<input type=“hidden”,value=“+model.getId()+”/>
3.如何设置动态id变化;
1)首先id是用户无法输入,由系统自动分配id
2)每次删除后,id会自动变化+排序
3)思路:1.添加联系人时,自动分配id。if-联系人对象List为null时,分配id为1,else,分配id为集合长度+1
2.每次接收过来的Model对象List,进行根据id排序,排序方式即为在Model类中实现Comparable接口
3.在调用删除方法后,调用更新id的方法,每次更新即更新