1.在application.jsp中,除了要上传的文件之外,还需要将项目名传到对应的servlet中
代码如下:
<form method="post" action="servlet/UploadServlet" name = "appform" enctype="multipart/form-data" >
<table>
<tr>
<td>申请书上传:</td>
<td><input type="file" name="uploadFile" /> </td>
</tr>
<tr>
<td>项目名:</td>
<td><input type="text" name="appname" /> </td>
</tr>
<tr>
<td><input type="submit" value="上传" onClick="return check(appform)" /></td>
<td><input type="reset" value="重置" onClick="reset(appform)"></td>
</tr>
</table>
</form>
2.在UploadServlet中如果用request.getparameter来获取项目名(appname)的值,经过若干次测试,得到的值总是为NULL,经过百度发现,原来是因为form加了
enctype="multipart/form-data"的原因,使得servlet中只能接受到文件的值,不信,你可以将enctype属性去掉,再次测试是可以接收到值的。
3.在UploadServlet中,代码如下:
// 解析HTTP请求消息头 List<FileItem> fileItems = upload.parseRequest(request); Iterator<FileItem> iter = fileItems.iterator(); for( ; iter.hasNext(); ) { FileItem fileItem = (FileItem) iter.next(); String field = fileItem.getFieldName(); //判断fieldname if(field.equals("appname")) { appname = fileItem.getString(); appname= new String(appname.getBytes("ISO-8859-1"),"utf-8"); //解决中文乱码问题 System.out.println(appname); } }
大致就是这样,希望能帮到大家,嘻嘻!!