public void filedownload (HttpServletResponse-Antwort) löst eine Ausnahme aus {
ServletContext context = this.getServletContext();
String path = context.getRealPath("/download/awf.jpg");
String filename = path.substring(path.lastIndexOf("//") + 1);
// Wenn es sich bei der heruntergeladenen Datei um eine chinesische Datei handelt, muss der Dateiname URL-codiert sein.
Response.setHeader("Content-disposition", "attachment;filename="+ URLEncoder.encode(filename, "UTF-8"));
InputStream in = new FileInputStream(path);
int len = 0;
byte[] buffer = neues byte[1024];
OutputStream out = Response.getOutputStream();
while ((len = in.read(buffer)) > 0) {
out.write(buffer, 0, len);
}
in.close();
out.close();
}
BeanUtils verwendet :
BeanUtils.pupulate(bean,MapInstance);// Bean mit Karte laden, die den dem Bean-Attribut entsprechenden Schlüssel und den dem Schlüssel entsprechenden Wert enthält;
BeanUtils.copyProperties(bean,MapInstance);//Karte in Bean kopieren;
Die Weiterleitung ist eine Anfrage, bei der dieselbe Antwort und Anfrage verwendet wird.
Seitensprung:
<1>String message = "<meta http-equiv='refresh' content='3;url=/webTwo/index.jsp'><a href='webTwo/index.jsp'>AAAA</a>";
this.getServletContext().setAttribute("message", message);
this.getServletContext().getRequestDispatcher("/message.jsp").forward(request, Response);//Bringen Sie die Nachricht zur Anzeige auf die Nachrichtenseite;
<2>response.setHeader("refresh", "3;url='/webTwo/index.jsp'");
Response.getWriter().write("Herzlichen Glückwunsch zur erfolgreichen Anmeldung. Wenn keine Übertragung erfolgt, klicken Sie bitte auf den Hyperlink <a href='webTwo/index.jsp'>AAAA</a>");
Programmcode:
//Welche Codetabelle das Programm zur Ausgabe verwendet, muss steuern, welche Codetabelle der Browser zum Öffnen verwendet;
// Verwenden Sie Metatechnologie in HTML, um HTTP-Antwortheader zu simulieren und das Browserverhalten zu steuern.
// out.write("<meta http-equiv='content-type' content='text/html;charset=UTF-8'>".getBytes());
Response.setCharacterEncoding("UTF-8");//Legen Sie die von der Antwort verwendete Codetabelle fest und steuern Sie die von der Antwort zum Schreiben von Daten in den Browser verwendete Codetabelle.
Response.setHeader("Content-type", "text/html;charset=UTF-8");//Geben Sie an, welche Codetabelle der Browser zum Öffnen der Daten verwendet;
// Entspricht den beiden obigen Sätzen:
// Response.setContentType("text/html;charset=UTF-8");
Response.setDateHeader("expires",System.currentTimeMillis() + 1000*3600);//Setzen Sie die Sitzungsgültigkeitszeit auf 10 Minuten;
Response.getWriter().write(data); Response.getWriter() --> return PrintWriter;
Response.setHeader("refresh","3");