1.去掉端口号:
在server.xml中把Http端口改成80,因为浏览器默认使用80端口,如:<Connector connectionTimeout="20000" port="80" protocol="HTTP/1.1" redirectPort="8443"/>
2.去掉工程名:
在server.xml中加入如下context设置(假设你的Tomcat在C:\Java\apache-tomcat-6.0.18,工程名为test):
<Context docBase="C:\Java\apache-tomcat-6.0.18\webapps\test" path="" reloadable="true" /></Host>
其中的docBase为找到工程的路径,path就是你的工程context,这里什么也不写。如果你写成"hello",那么此时你的访问路径就是:http://localhost/hello,这里什么也没写,所以访问路径是:http://localhost
前台部分代码:<form name="buildform" id="buildform" action=" " enctype="multipart/form-data" method="post">
<table>
<tr>
<td colspan="" class="label">文件上传:</td>
<td class="label" align="left">
<div id="d">
<input type="file" name="fileurl" value="" />
</div>
</td>
</tr>
</table>
后台部分代码java:
// 创建一个文件上传的工厂实例
DiskFileItemFactory factory = new DiskFileItemFactory()
// 设置文件缓存地址和缓存大小
factory.setRepository(new File(request.getRealPath("/")))
factory.setSizeThreshold(1024 * 1024 * 20)
// 用上工厂实例创建一个上传文件对象
ServletFileUpload upload = new ServletFileUpload(factory)
upload.setHeaderEncoding("gbk")
String name = ""
String code = ""
String sredate = ""
String ssetdate = ""
String setworker = ""
String reworker = ""
String memo = ""
String contents = ""
Long redptid = null
Long setdptid = null
String fileurl = ""
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd")
Date setdate = null
Date revisedate = null
// 处理页面传过来的表单项
int k = 0
List items = null
try {
items = upload.parseRequest(request)
} catch (FileUploadException e) {
e.printStackTrace()
}
// 遍历所有的表单项
for (int i = 0i <items.size()i++) {
FileItem item = (FileItem) items.get(i)
// 如果这个表单是普通表单域
if (item.isFormField()) {
// 取得表单名
String formname = item.getFieldName()
if(formname.equals("name")){
name = item.getString("gbk")
}else
if(formname.equals("code")){
code = item.getString("gbk")
}else
if(formname.equals("revisedate")){
sredate = item.getString("gbk")
if(!sredate.equals("")){
revisedate = sdf.parse(sredate)
}
}else
if(formname.equals("setdate")){
ssetdate = item.getString("gbk")
if(!ssetdate.equals(""))
setdate = sdf.parse(ssetdate)
}else
if(formname.equals("redptid")){
String s_redptid = item.getString("gbk")
if(!s_redptid.equals("x"))
redptid = Long.parseLong(s_redptid)
}else
if(formname.equals("setdptid")){
String s_setdptid = item.getString("gbk")
if(!s_setdptid.equals("x"))
setdptid = Long.parseLong(s_setdptid)
}else
if(formname.equals("setworker")){
setworker = item.getString("gbk")
}
/*// 取得表单的value值
String formvalue = item.getString("gbk")*/
}
// 如果是文件域
else {
k++
// 取得文件域的表单域名
String fieldName = item.getFieldName()
// 取得文件名
String fileName = item.getName()
// 取得文件类型
String contentType = item.getContentType()
// 对于上传文件的存放地址来建立一个输出流
FileOutputStream fos = new FileOutputStream(request
.getRealPath("/")+"uploadimg/" + imgName)
// 判断上传文件是否在缓存中
if (item.isInMemory()) {
// 得到上传文件输入流
InputStream is = item.getInputStream()
byte[] buffer = new byte[1024]
int len
// 将上传文件写入服务器文件中
while ((len = is.read(buffer)) >0) {
fos.write(buffer, 0, len)
}
is.close()
fos.close()
}
}
}
}
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)