Есть контроллер через который проходят все входящие запросы на сервер. Есть сервлет для загрузки файлов. Пробую напрямую на сервелет загрузки файлов делать обращение - загружает, а если через контроллер то нет.
В контроллере делаю перенаправление на нужный сервлет
rd = context.getRequestDispatcher("/UploadFile");
rd.forward(request, response);
но параметр request.getPart("file");
получается null
.
почему? как исправить?
Контроллер:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
request.setCharacterEncoding("UTF-8");
HttpSession session = request.getSession();
PrintWriter out = response.getWriter();
String[] path = request.getPathInfo().replaceFirst("^/+", "").split("/+");
System.out.println(Arrays.toString(path));
ServletContext context= getServletContext();
RequestDispatcher rd = null;
String action = "";
for(int i=1;i<path.length;i++) {
action+="/"+path[i];
}
if(session.getAttribute("token") != null && session.getAttribute("token").equals(Sloyev.GetCookieValue("token", request))) {
request.setAttribute("action", action);
switch (path[0]){
case Sloyev.CONTROLLER_USER:
rd = context.getRequestDispatcher("/UserController");
rd.forward(request, response);
break;
case Sloyev.CONTROLLER_ADMIN:
rd = context.getRequestDispatcher("/AdminController");
rd.forward(request, response);
break;
case Sloyev.CONTROLLER_UTILS:
rd = context.getRequestDispatcher("/UtilsController");
rd.forward(request, response);
break;
case Sloyev.CONTROLLER_UPLOAD:
rd = context.getRequestDispatcher("/UploadFile");
rd.forward(request, response);
break;
default:
result.put(Sloyev.TYPE_STATUS, Sloyev.TYPE_ERROR);
result.put(Sloyev.TYPE_MESSAGE, "Controller - Unknown action.");
out.write(result.toJSONString());
break;
}
} else {
result.put(Sloyev.TYPE_STATUS, Sloyev.TYPE_ERROR);
result.put(Sloyev.TYPE_MESSAGE, "Bad token");
out.write(result.toJSONString());
}
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Прошу объяснить как правильно реализовать перелистывание Viewpager с помощью кнопок("предыдущий","следующий"), а не пальцевСпасибо большое!
Дан метод move() - изначально он пуст, я его сам заполняю, который перемещает автомобиль на 1 метр вперед или назадПри перемещении вперед он вернет...
И для метода findAll() получаю следующие: overridden method does not throw javalang