Uruchamianie plików .jsp na serwerze w Springu

Odpowiedz Nowy wątek
2014-02-26 18:21
0

Mam projekt w springu. Chcialbym uruchomić dowolny plik .jsp który mam w projekcie.

W pliku web.xml wpisałem

<servlet> <servlet-name>Edit</servlet-name> <jsp-file>/edit.jsp</jsp-file> </servlet>
<servlet-mapping>
      <servlet-name>Edit</servlet-name>
      <url-pattern>/edit</url-pattern>
</servlet-mapping>

nazwa folderu z aplikacją xyz

po opublikowaniu na serwerze Tomcat i wpisaniu w pasku przeglądarki:
http://localhost:8080/xyz/edit daje błąd 404
dlaczego nie wyświetla mi tej strony edit.jsp ?

Pozostało 580 znaków

2014-02-26 22:05
0

Ale co to ma wspólnego ze springiem? Bo chyba coś pokiełbasiłeś...
Będę zgadywał:

  • piszesz aplikację webową z użyciem Spring MVC
  • używasz JSTL jako języka do templatów
    Jeśli tak to odpowiedź jest krótka: robisz to źle.

Masz problem? Pisz na forum, nie do mnie. Nie masz problemów? Kup komputer...

Pozostało 580 znaków

2014-02-27 00:19
0

Aplikacja w Springu. Nie jest to moja aplikacja. Jest to tzw. aplikacja do nauki "Spring petclinic" https://spring.io/blog/2013/03/21/spring-petclinic-is-on-github
Wszystkie znaczniki jstl są już zrobione i ta aplikacja jest pobrana z oficjalnej strony Springa.

Pozostało 580 znaków

2014-02-27 00:29

No właśnie. To nie ma NIC WSPÓLNEGO z żadnym JSP. Ba, te pliki templatów JSTL nie są servletami JSP. To ze pliki maja takie rozszerzenia wynika tylko z tego żeby edytory ogarniały jak to kolorować. Przecież ta aplikacja jest już skonfigurowana, więc czemu chcesz ją psuć? Masz tam załadowany springowy dispatcher servlet! Jak chcesz dodać nowy WIDOK (a nie żaden servlet!) to musisz dodać sobie mapping ale do KONTROLERA (albo w ogóle nowy kontroler) i z metody tegoż kontrolera wywołać ModelAndView podając nazwę widoku który chcesz wyświetlić.
Moja rada: zacznij od podstaw zamiast ściagać gotową aplikację, której zupełnie nie rozumiesz.

Patrz tutaj: https://github.com/spring-pro[...]inic/web/OwnerController.java
Potrzebujesz klasę z anotacją @Controller, a w niej metodę z anotacją @RequestMapping(value = "/ta/twoja/scieżka", method = RequestMethod.GET) i z tejże metody zwracasz
new ModelAndView("edit")
i powinno banglać


Masz problem? Pisz na forum, nie do mnie. Nie masz problemów? Kup komputer...
edytowany 2x, ostatnio: Shalom, 2014-02-27 00:32
@Shalom powiedz mi, jak z tej metody przy ktorej mam @RequestMapping zwracam String: "edit", a ModelAndView("edit"); to jaka jest różnica? - azalut 2014-02-27 22:57
W takim trywialnym przypadku żadna. Ale gdybyś jednak chciał przesłać do Widoku jakieś dane do wyświetlenia to wtedy jednak stworzenie ModelAndView byłoby zasadne bo mógłbyś do niego dodać obiekty :) - Shalom 2014-02-28 02:40
@Shalom chodzi ci o ten konstruktor: ModelAndView(Object view, String modelName, Object modelObject) ? wtedy moge dodać dane modelu np. w postaci mapy itd pod jakąś nazwą? Zastanawia mnie jedna rzecz, bo czytałem w książce taki jeden przypadek, ze tak: metoda zwracala stringa z jakąś tam nazwą strony, a jako argument tej metody była mapa<string, obj> o nazwie model. I do niej autor zrobił model.put("nazwa",obiekt); a potem w pliku .jsp odwoływał się przez: ${nazwa}. I myślę skąd spring wiedział ze ma te dane wziąć z tej mapy? :D zawsze argumentów w metodzie moze byc pare i - azalut 2014-03-01 14:42
i co wtedy? :P - azalut 2014-03-01 14:43
Mógłbyś to napisać jako post, bo odpowiedź wymaga więcej znaków niż komentarz. - Shalom 2014-03-01 16:11

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0