使用Form表单中enctype属性引发的思考

    昨晚上一个朋友的朋友问了一个问题,结果朋友找了很久,还是没有找到,朋友是做PHP的,对java是有点生疏了,后来就问到我了,前面我大概看了看,是个他朋友做的毕业设计,马上就要交了,说是很急,代码写得很烂,数据库链接扔在页面JSP上,看着我很纠结...算了,他这个就只是想完成一个任务而已,就只是单单最基本的Servlet+Jsp(PS:数据库还用的SQLserver,你都用开源的JAVA了,为什么不用开源的Mysql呢?),什么各种异常处理,什么拦截器,估计想都没想,就一味的按照他自己思路一条路走下去,你以为程序就这么听你话,那样单一的话,写程序就不用这么多考虑的了,根本也就不用谈什么MVC结构了,我真不明白,这个就是所谓的重点大学学生写的代码,这个就是让我看着有点心寒,我只是代表我们这些专科生,想感叹一下而已,想想我现在还没毕业呢,但我们已经进入正规的软件公司做开发一年了,也许真的在学校是学不到什么东西的,当然心里也暗自窃喜了一下,一本的学生水平不过如此,哎...

    言归正传,说到他的问题,想实现一个文件上传,在表单中设置了enctype属性,说到enctype,默认情况,这个编码格式是application/x-www-form-urlencoded,不能用于文件上传;只有使用了multipart/form-data,才能完整的传递文件数据,进行下面的操作.  enctype= "multipart/form-data "是上传二进制数据; form里面的input的值以2进制的方式传过去。form里面的input的值以2进制的方式传过去,所以request就得不到值了。 也就是说加了这段代码,用request对象就取不到值,解决方案:

SmartUpload su = new SmartUpload();    //新建一个SmartUpload对象   
su.getRequest().getParameterValues();  //取数组值   
su.getRequest().getParameter( );       //取单个参数单个值
 

 他就是一直取不到这个值,报NullPointer异常,哎,其实这是个很简单的问题,不得不想到,这是可是个一本类大学生写出的代码啊...

你可能感兴趣的:(数据结构,mysql,jsp,mvc,PHP)