проблема с Tomcat application context?

112
15 сентября 2019, 10:00

Есть crud приложение. Сервер томкэт деплоит его с адресом localhost:8080/GA_war_exploded/. Вот структура папок проекта:

Запускаю приложение и переходит по адресу localhost:8080/GA_war_exploded/(запускается index.jsp). С index.jsp есть ссылка на games.jsp, далее получается такой адрес localhost:8080/GA_war_exploded/games. И вот тут проблема. С games.jsp я не могу никуда перейти. С этой страницы есть две ссылки.

  1. Назад на страницу index.jsp
  2. На страницу gamedata.jsp

Когда я нажимаю на любую из ссылок адрес становится такой: localhost:8080/games.jsp или такой localhost:8080/gamedata.jsp в зависимости от ссылки. Как правильно нужно прописать путь перехода, чтобы из адреса не терялась вот эта часть localhost:8080/GA_war_exploded/games

Контроллер:

@Controller
public class GameController {
    private GameService gameService;
    @Autowired(required = true)
    @Qualifier(value = "gameService")
    public void setGameService(GameService gameService) {
        this.gameService = gameService;
    }
@RequestMapping(value = "/games", method = RequestMethod.GET)
public String listGames(Model model){
    model.addAttribute("game", new Game());
    model.addAttribute("listGames", this.gameService.listGames());
    return "games";
}
@RequestMapping(value = "/games/add", method = RequestMethod.POST)
public String addGame(@ModelAttribute("game") Game game){
    if(game.getId() == 0){
        this.gameService.addGame(game);
    }else {
        this.gameService.updateGame(game);
    }
    return "redirect:/games";
}
@RequestMapping("/remove/{id}")
public String removeGame(@PathVariable("id") int id){
    this.gameService.removeGame(id);
    return "redirect:/games";
}
@RequestMapping("edit/{id}")
public String editGame(@PathVariable("id") int id, Model model){
    model.addAttribute("game", this.gameService.getGameById(id));
    model.addAttribute("listGames", this.gameService.listGames());
    return "games";
}
@RequestMapping("gamedata/{id}")
public String gameData(@PathVariable("id") int id, Model model){
    model.addAttribute("game", this.gameService.getGameById(id));
    return "redirect:/gamedata";
}
}

Вот так я сделал ссылку с games.jsp назад на index.jsp:

<a href="../../index.jsp" target="_self">Back to main menu</a> Вот так выглядит index.jsp:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
  <title>Game Accounting</title>
  <style type="text/css">
    a{
      display: flex;
      flex-direction: column;
      align-items: center;
    }
  </style>
</head>
<body>
<h1 align="center">Game Accounting</h1>
<br/>
<a href="<c:url value="/games"/>" target="_blank">Game list</a>
<br/>
</body>
</html>

Если убрать в tomcat'е во вкладке Deployment /GA_war_exploded и оставить просто /, то с index.jsp на games.jsp и обратно переходит нормально, на gamedata.jsp тоже не переходит.

READ ALSO
Исправить ошибки, реализовать метод toString()

Исправить ошибки, реализовать метод toString()

Создать интерфейс IntList и его реализацию IntArrayList по аналогии с List<Integer>

116
grid-template-columns и grid-column

grid-template-columns и grid-column

Допустимо ли применять к одному блоку сразу display: grid, grid-template-columns и grid-column?

127
Строка SVG не отображается внутри clipPath

Строка SVG не отображается внутри clipPath

У меня есть следующий Codepen , где я пытаюсь анимировать строку круга вокруг изображения

119
Вызов функции после закрытия окна

Вызов функции после закрытия окна

Имеется окно загрузки файла, которое вызывается с помощью input'аПри нажатии, всплывает окно проводника

118