public void filedownload (resposta HttpServletResponse) lança exceção {
Contexto ServletContext = this.getServletContext();
String caminho = context.getRealPath("/download/awf.jpg");
String nome do arquivo = path.substring(path.lastIndexOf("//") + 1);
// Se o arquivo baixado for um arquivo chinês, o nome do arquivo precisa ser codificado em URL;
response.setHeader("Disposição de conteúdo", "anexo;nome do arquivo="+ URLEncoder.encode(nome do arquivo, "UTF-8"));
InputStream in = new FileInputStream(caminho);
int len=0;
byte[] buffer = novo byte[1024];
OutputStream out=response.getOutputStream();
enquanto ((len = in.read(buffer)) > 0) {
out.write(buffer, 0, len);
}
in.close();
out.close();
}
BeanUtils usa :
BeanUtils.pupulate(bean,MapInstance);//Carrega o bean com map, que contém a chave correspondente ao atributo do bean e o valor correspondente à chave;
BeanUtils.copyProperties(bean,MapInstance);//Copia o mapa para o bean;
O encaminhamento é uma solicitação, usando a mesma resposta e solicitação;
Salto de página:
<1>String mensagem = "<meta http-equiv='refresh' content='3;url=/webTwo/index.jsp'><a href='webTwo/index.jsp'>AAAA</a>";
this.getServletContext().setAttribute("mensagem", mensagem);
this.getServletContext().getRequestDispatcher("/message.jsp").forward(request, response);//Traz a mensagem para a página de mensagens para exibição;
<2>response.setHeader("atualizar", "3;url='/webTwo/index.jsp'");
response.getWriter().write("Parabéns pelo login bem-sucedido. Se não houver transferência, clique no hiperlink <a href='webTwo/index.jsp'>AAAA</a>");
Código do programa:
//Qual tabela de códigos o programa usa para gerar deve controlar qual tabela de códigos o navegador usa para abrir;
// Use metatecnologia em HTML para simular cabeçalhos de resposta http para controlar o comportamento do navegador;
// out.write("<meta http-equiv='content-type' content='text/html;charset=UTF-8'>".getBytes());
response.setCharacterEncoding("UTF-8");//Define a tabela de códigos usada pela resposta e controla a tabela de códigos usada pela resposta para gravar dados no navegador;
response.setHeader("Content-type", "text/html;charset=UTF-8");//Especifique qual tabela de códigos o navegador usa para abrir os dados;
// Equivalente às duas frases acima:
//response.setContentType("text/html;charset=UTF-8");
Response.setDateHeader("expires",System.currentTimeMillis() + 1000*3600);//Define o tempo de validade da sessão para 10 minutos;
Response.getWriter().write(dados); Response.getWriter() --> retornar PrintWriter;
Response.setHeader("atualizar","3");