思考1:数字签名
做数字签名的时候,想着客户端生成RSA密钥对,然后把公钥传送给服务器,私钥签名,但是这样生成密钥的种子算法啥的不都得再JS文件里别人都看到了啊? 所以我就服务器生成RSA密钥对,把私钥传送存在SESSION里面,然后JSP里面调用,但是网页就把RSA密钥显示出来了,这样安全吗?
JS签名用的是 jsrsasign Servlet用的是JAVA包里自带的,还有个问题就是,如果是数字和字母签名两边都没问题,但是中文和符号就签名两端不一样,我试了下是编码的问题,我都开成了GBK但是还是不一样,可以把签名的内容先转换成16进制了
思考2:代码模式
在做一个大型的工程代码时,要呢提前设计好所有的模块,包括用的接口方式,实现方式,后期容改问题,做到哪里想到那里的方式一定不可取。 在Jsp中导航栏部分最好用动态引用,若导航栏内容需要提前向Servlet请求就用静态引用,而且两个JSP里面的变量名不能重复,否则报错。如果不这样,子目录的多话,要改的话量太大。
思考3:解耦
这次一个警钟就是JAVA写代码时,一定选好设计模式。想好后续改进问题,补习JAVA设计模式,否则后期加一点东西,整个项目都要动恶心死,最好能解耦,任何部分都解耦!这样的话效率不高,但是你的后期维护的工作就太方便了。
细节知识
要记住java字符串比较,如果有可能空的变量要放在后面哦,不然会出异常。
BASE64的旧的方法新的JDK舍去了。
数据库外键要数据类型一样。
DEBUG要会用!