public void filedownload (ответ HttpServletResponse) выдает исключение {
Контекст ServletContext = this.getServletContext();
Строковый путь = context.getRealPath("/download/awf.jpg");
Строковое имя файла = path.substring(path.lastIndexOf("//") + 1);
// Если загруженный файл является китайским, имя файла должно быть закодировано в URL;
response.setHeader("Content-disposition", "attachment;filename="+ URLEncoder.encode(filename, "UTF-8"));
InputStream in = новый FileInputStream (путь);
интервал лен = 0;
буфер байт[] = новый байт[1024];
OutputStream out = response.getOutputStream();
while ((len = in.read(buffer)) > 0) {
out.write(буфер, 0, длина);
}
в.закрыть();
выход.закрыть();
}
BeanUtils использует :
BeanUtils.pupulate(bean,MapInstance);//Загрузить компонент с картой, которая содержит ключ, соответствующий атрибуту компонента, и значение, соответствующее ключу;
BeanUtils.copyProperties(bean,MapInstance);//Копируем карту в bean;
Пересылка — это запрос, использующий один и тот же ответ и запрос;
Переход на страницу:
<1>String message = "<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("refresh", "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");//Укажите, какую кодовую таблицу использует браузер для открытия данных;
// Эквивалентно двум предыдущим предложениям:
// response.setContentType("text/html;charset=UTF-8");
Response.setDateHeader("expires",System.currentTimeMillis() + 1000*3600);//Установим время действия сеанса на 10 минут;
Response.getWriter().write(данные); Response.getWriter() --> return PrintWriter;
Response.setHeader("обновить","3");