欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

一個(gè)人做項(xiàng)目的感受-Commons FileUpload文件上傳

系統(tǒng) 1626 0

?? ?到現(xiàn)在才真正體會(huì)到一個(gè)人做項(xiàng)目的感受,我說(shuō)的不是一個(gè)人做著玩的。在一個(gè)公司里給他們做項(xiàng)目管理軟件(他們的項(xiàng)目不是軟件項(xiàng)目哦)。

?? ?我一個(gè)人充當(dāng)了好多人的角色,我也不認(rèn)為到現(xiàn)在為止我的水平有多高,但是我現(xiàn)在確實(shí)是充當(dāng)軟件架構(gòu)師的角色。項(xiàng)目到現(xiàn)在做了有兩個(gè)多月了,在這個(gè)過(guò)程中出現(xiàn)了不少系統(tǒng)框架上的問(wèn)題還有數(shù)據(jù)庫(kù)設(shè)計(jì)的不完善造成的一系列問(wèn)題。從一開(kāi)始就沒(méi)有做完整的需求分析,因?yàn)槟莻€(gè)時(shí)候他們也不是很清楚要做一個(gè)什么樣的東西出來(lái),需求都很模糊。只是一個(gè)大概的構(gòu)想,我但是就想了要把他們這種構(gòu)想轉(zhuǎn)化為需求的話也就等于是空想。所以只能是走一步說(shuō)一步。需求是一步一步在變,我好像也是一步一步在改,改東西是最煩人的事情。

?? ?不寫了,下班,明天繼續(xù)。

?? ?接著昨天的寫,昏昏沉沉的有敲了一天的代碼

?? ?前些天做了有關(guān) 文件上傳 的一些東西,現(xiàn)在把它貼出來(lái)

用的是Apache的Commons FileUpload組建

?? ?首先是要把需要的jar包放到WEB-INF的lib目錄下,需要的jar包全部在附件里,沒(méi)有的可以去下載

jsp文件:

    <%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://"
			+ request.getServerName() + ":" + request.getServerPort()
			+ path + "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
	<head>
		<title>My JSP 'upload.jsp' starting page</title>
		<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
	</head>
	<body>

		<form action="UploadServlet" method="post" enctype="multipart/form-data">
			<table border="1" align="center">
				<caption>
					請(qǐng)選擇要上傳的文件
				</caption>
				<tr>
					<td>
						上傳人
					</td>
					<td>
						<input type="text" name="name">
					</td>
				</tr>
								<tr>
					<td>
						上傳文件
					</td>
					<td>
						<input type="file"  name="file1name">
						<input type="file"  name="file1name">
					</td>
				</tr>
								<tr>
					<td>
						<input type="submit" name="submit" value="上傳" >
					</td>
					<td>
						<input type="reset" name="rest" value="重置">
					</td>
				</tr>
			</table>
		</form>
	</body>
</html>

  

?

  

? UploadServlet.java

?

    package com.xiang;

import java.io.IOException;
import java.io.*;
import java.util.*;
import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;

public class UploadServlet extends HttpServlet {
	private ServletContext app;

	private String savePath;

	public void init(ServletConfig conf) {
		savePath = conf.getInitParameter("savePath");
		app = conf.getServletContext();// 獲取servlet上下文,init方法只執(zhí)行一次;
	}

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		response.setContentType("text/html;charset=GBK");
		PrintWriter out = response.getWriter();
		request.setCharacterEncoding("GBK");

		DiskFileItemFactory dif = new DiskFileItemFactory();

		ServletFileUpload load = new ServletFileUpload(dif);
		try {
			//工程必須得有commons-io-1.4.jar,不然這個(gè)位置會(huì)報(bào)錯(cuò)
			List items = load.parseRequest(request);// 解析reqeust,包括所傳過(guò)來(lái)的參數(shù),文件等等吧,總之請(qǐng)求過(guò)來(lái)的所有東西都在這里放著呢

			Iterator it = items.iterator();// 既然items里包含了很多東西,那么我們需要取出每一個(gè)看看都是什么東西,主要區(qū)分input類型是text還是file
			while (it.hasNext()) {
				FileItem item = (FileItem) it.next();// 取出items里每一個(gè)元素,item即可是普通的文本信息,又可以是所上傳的文件

				if (item.isFormField()) {// 如果此方法返回真,說(shuō)明就是普通的文本信息,相反就是文件啦
					// 如果是普通文本信息,簡(jiǎn)單處理, 輸出信息
					System.out.println("表單參數(shù)的名字" + item.getFieldName()
							+ "<br/>" + "表單參數(shù)的值" + item.getString("GBK"));

				} else {
					// 上傳文件
					// 判斷用戶是否選擇的上傳文件
					if (item.getName() != null && !item.getName().equals("")) {

						System.out.println("上傳文件的大小" + item.getSize());
						System.out.println("上傳文件的類型" + item.getContentType());
						System.out.println("上傳文件的名稱" + item.getName());// 此處獲得的名字,是客戶端所選擇的文件的路徑和文件名,而我們往服務(wù)器保存時(shí),要從新指定服務(wù)器端的路徑

						File tempFile = new File(item.getName());// 臨時(shí)性的,目的調(diào)用它的tempFile.getName()方法,僅僅獲取所上傳文件的名字而不要路徑

						System.out.println("文件名字:" + tempFile.getName());
						// app.getRealPath("/");
						System.out.println("當(dāng)前工程的絕對(duì)路徑:" + app.getRealPath("/"));
						// 從新獲取file,而此file才是真正的所要上傳的
						File file = new File(app.getRealPath("/") + savePath,
								tempFile.getName());// 注意新file的構(gòu)建,逗號(hào)前邊是路徑,后面是文件名

						item.write(file);
						System.out.println("上傳成功");
					}

				}

			}

		} catch (Exception e) {
			e.printStackTrace();
		}

	}


	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		doGet(request, response);
	}

}

  

?

?

?

?不要忘記在web.xml里田間配置

    <servlet>
    <description>This is the description of my J2EE component</description>
    <display-name>This is the display name of my J2EE component</display-name>
    <servlet-name>UploadServlet</servlet-name>
    <servlet-class>com.accp.UploadServlet</servlet-class>
    <init-param>
    <param-name>savePath</param-name>
    <param-value>uploads</param-value>
    </init-param>
  </servlet>
  <servlet-mapping>
    <servlet-name>UploadServlet</servlet-name>
    <url-pattern>/UploadServlet</url-pattern>
  </servlet-mapping>
  

?

?大功告成

一個(gè)人做項(xiàng)目的感受-Commons FileUpload文件上傳


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!??!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 日本AAAA片毛片免费观 | 国产在线欧美精品中文一区 | 欧美高清成人 | 日韩成人免费观看 | 日本精品久久久久中文字幕2 | 91xoxo| 国产亚洲一区二区精品 | 精品一区二区三区免费 | 欧洲色阁中文字幕 | 一区中文字幕 | 欧美精品一区二区三区在线 | 91精品久久久久久久久久 | 范丞丞星座 | 日本人成年视频在线观看 | 精品网| 亚洲综合干 | 国产成人av在线播放 | 狠狠操天天操夜夜操 | 久久精品男人的天堂 | 一区二区三区日本在线观看 | 国产这里有精品 | 91精品国产91久久久久久 | 2021最新国产成人精品视频 | 国产婷婷| 亚洲第一页在线播放 | 久久青草国产免费观看 | 欧美综合久久 | 国产免费看片 | 精品无码国产一区二区日本 | 国产成人午夜精品5599 | 777色狠狠一区二区三区香蕉 | 五月天婷婷在线视频国产在线 | 麻豆传媒地址 | 欧美一区二区三区视频 | 日韩毛片高清免费 | 久久久精品一区二区三区 | 美女超碰 | 一区久久 | 福利片在线 | 91伊人| 成人免费观看国产高清 |