public void filedownload (HttpServletResponse 応答) が例外をスローする {
ServletContext context = this.getServletContext();
文字列パス = context.getRealPath("/download/awf.jpg");
文字列ファイル名 = path.substring(path.lastIndexOf("//") + 1);
// ダウンロードしたファイルが中国語のファイルの場合、ファイル名を URL エンコードする必要があります。
response.setHeader("Content-disposition", "attachment;filename="+ URLEncoder.encode(filename, "UTF-8"));
入力ストリーム = 新しい FileInputStream(パス);
int len = 0;
byte[] バッファ = 新しいバイト [1024];
OutputStream out = 応答.getOutputStream();
while ((len = in.read(buffer)) > 0) {
out.write(バッファ, 0, len);
}
in.close();
out.close();
}
BeanUtils は以下を使用します。
BeanUtils.pupulate(bean,MapInstance);//Bean 属性に対応するキーとそのキーに対応する値を含むマップを使用して Bean をロードします。
BeanUtils.copyProperties(bean,MapInstance);//マップを Bean にコピーします。
転送はリクエストであり、同じ応答とリクエストを使用します。
ページジャンプ:
<1>文字列メッセージ = "<meta http-equiv='refresh' content='3;url=/webTwo/index.jsp'><a href='webTwo/index.jsp'>AAAA</a>";
this.getServletContext().setAttribute("メッセージ", メッセージ);
this.getServletContext().getRequestDispatcher("/message.jsp").forward(request, response);// メッセージをメッセージ ページに移動して表示します。
<2>response.setHeader("リフレッシュ", "3;url='/webTwo/index.jsp'");
response.getWriter().write("ログイン成功おめでとうございます。転送がない場合は、ハイパーリンク <a href='webTwo/index.jsp'>AAAA</a> をクリックしてください。");
プログラムコード:
//プログラムが出力に使用するコード テーブルは、ブラウザが開くために使用するコード テーブルを制御する必要があります。
// HTML のメタ テクノロジーを使用して http 応答ヘッダーをシミュレートし、ブラウザーの動作を制御します。
// out.write("<meta http-equiv='content-type' content='text/html;charset=UTF-8'>".getBytes());
response.setCharacterEncoding("UTF-8");// 応答で使用されるコード テーブルを設定し、ブラウザにデータを書き込むために応答で使用されるコード テーブルを制御します。
response.setHeader("Content-type", "text/html;charset=UTF-8");//ブラウザがデータを開くために使用するコード テーブルを指定します。
// 上記の 2 つの文と同等:
// response.setContentType("text/html;charset=UTF-8");
Response.setDateHeader("expires",System.currentTimeMillis() + 1000*3600);//セッションの有効時間を 10 分に設定します。
Response.getWriter().write(data); Response.getWriter() --> PrintWriter を返します。
Response.setHeader("リフレッシュ","3");