• 締切済み

struts2 ファイル アップロード

今、ファイルのアップロードのプログラム開発を行なっておりますが アップロードのボタンを押すとHTTPステータス500のエラーで実行ができません。 詳しい方、間違っている箇所のご指摘宜しくお願い致します。 プログラムは以下の通りです。(JAVAは一部削除しています) (JSP) <%@ page contentType="text/html; charset=UTF-8" %> <%@ page pageEncoding="Windows-31J" %> <%@taglib prefix="s" uri="/struts-tags" %> <%@taglib prefix="original" uri="/original-tags" %> <%@taglib prefix="originalJK" uri="/original-JK-tags" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> %@ include file="html-head.jsp" %> <script type="text/javascript"> </script> </head> <body onload> <%@ include file="HeaderTitle.jsp" %> <div class="navigation" align="right"> <originalJK:CommonLinkTag mode="2" /><br> </div> <br> <s:form enctype="multipart/form-data"> <table width="100%"> <tr> <td> <INPUT type=file name="upload"> </td> </tr> </table> <table width="100%"> <tr> <td> <s:submit value="EXCELアップロード" cssClass="form_button" action="tEST11A" method="doUpload" onclick="return confirm('アップロードしてよろしいですか。');"/> </td> </tr> </table> </s:form> </body> <html> (JAVA) @ParentPackage(value = "Original") @Results({ @Result(name = "success", value = "jsp/TEST11A.jsp"), @Result(name = "failure", value = "jsp/TEST11A.jsp") }) public class TEST11AAction extends SuperAction { private String aBtnUpdateMsg = ""; private File upload; private String uploadContentType; private String uploadFileName; public String execute() throws Exception { return "success"; } public String doUpload() throws Exception { try { // DBコネクションオープン vDb.open(); TEST11ADao vDao = new TEST11ADao(vDb); int vCount = 0; //データ存在チェック vCount = vDao.dbCntLine(); FileInputStream fis = new FileInputStream(upload); POIFSFileSystem fs = new POIFSFileSystem(fis); // ワークブック・オブジェクトの取得 HSSFWorkbook wb = new HSSFWorkbook(fs); // 総ワークシート数の取得 int sheets = wb.getNumberOfSheets(); // ワークシートごとに、データを取得 int idx = 0; for (int sheetIdx = 0; sheetIdx < sheets; sheetIdx++ ) { //コミット vDb.commit(); } finally { // DBクローズ vDb.close(); } return "success"; } public File getUpload() { return upload; } public void setUpload(File upload) { this.upload = upload; } public String getUploadContentType() { return uploadContentType; } public void setUploadContentType(String uploadContentType) { this.uploadContentType = uploadContentType; } public String getUploadFileName() { return uploadFileName; } public void setUploadFileName(String uploadFileName) { this.uploadFileName = uploadFileName; }

この投稿のマルチメディアは削除されているためご覧いただけません。

みんなの回答

  • reiman
  • ベストアンサー率62% (102/163)
回答No.2

tryの中を vDb.open(); 以外コメントアウトしてみてエラーが出ないことを確認し 一行づつ順にコメントアウトを外していき エラーになった時点における直前に コメントアウトを外した行がバグの原因だと思われる。

kouchan_s
質問者

補足

早速のご回答ありがとうございます。 アップロードにつきましてはご回答者様の言われる通り 実行してみたいと思います。ありがとうございました。 このプログラムで検索の機能もつけているのですが enctype="multipart/form-dataをつけるとHTTP500のエラーが出力され enctype="multipart/form-dataをはずすとデータベースより検索ができます。またアップロードもenctype="multipart/form-dataをつけた時と つけないときでは添付の例外内容がかわっています。 これはそのようなことかわかりますでしょうか?。 宜しくお願い致します。

回答No.1

エラーとか例外のログは出ていませんか?

kouchan_s
質問者

補足

早速の返信ありがとうございます。 例外は添付の通りです。 宜しくお願い致します。

関連するQ&A

専門家に質問してみよう