Wątek przeniesiony 2016-03-04 16:20 z Webmastering przez dzek69.

Wypisanie danych przez plik servlet w javie

0

Mam następujące pliki:

NewServlet.java
newhtml.html
Samochod.java

I gdzie należy stworzyć obiekt Samochód? W pliku NewServlet?

1

Co to za nazwy: 'NewServlet.java', 'newhtml.html' i swojskie 'Samochod.java' ???!!!

W myśl MVC, należałoby unikać mieszania modelu z warstwą widoku.

0

plik newservlet robi za servlet, plik newhtml.html służy do formularza napisanego w html. Chcę stworzyć obiekt klasy samochód i wypisać jego pola, lecz nie wiem gdzie należy obiekt zdefiniować i jak go potem wypisać.

0

szarlotka byłabyś w stanie pomóc?

0

W metodzie doPost w servlecie mam taki kod:

protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        
        Movie film = new Movie("horror","tak");
        
        PrintWriter out = response.getWriter();
        response.getWriter().println(film.wypisz());
        processRequest(request, response);
    }

Jednak występuje błąd w tej linijce :

response.getWriter().println(film.wypisz());

Klasa movie ma następujący kod:

public class Movie {
    
    String gatunek;
    String nazwa;
    public Movie(String gatunek,String nazwa){
        this.nazwa=nazwa;
        this.gatunek=gatunek;
    }
    
    void wypisz(Movie movie)
    {
        System.out.println(movie.gatunek);
    }
}

Jak zrobić aby wypisało gatunek obiektu movie?

0
    String wypisz()
    {
         return gatunek;
    }
0

ok dzięki działa.

Dlaczego jak mam kod:

 protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        
        Movie film = new Movie("horror","tak");
        String gatunek = request.getParameter("film.wypisz()");
        
        
        PrintWriter out = response.getWriter();
        
        out.println(gatunek);
        processRequest(request, response);
    }

to zamiast gatunku wypisuje null? W tym kodzie wypisze normalnie gatunek:

 protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        
        Movie film = new Movie("horror","tak");
        
        
        PrintWriter out = response.getWriter();
        
        out.println(film.wypisz());
        processRequest(request, response);
    }
0

Przekazałeś w żądaniu parametr o nazwie film.wypisz()?

0

Robi się to w metodzie processRequest?

0

O to chodzi: ?

 String gatunek = request.getParameter("film.wypisz()");
0

?

0

Tak. Jak wywołujesz serwlet, z pliku jsp?

0

chyba chodzi o to, że metoda nie ma przypisanego atrybutu wartości name? Tylko jak to zrobić, bo w pliku html dla np. zmiennej imie robi się to w taki sposób:

Imie:
<input type="text" name="imie" id="imie" />

W klasie jednak nie wiem czy to jest możliwe?

0
<p>Imie:<br />  <input type="text" name="imie" id="imie" /></p>
0

Dla formularza:

<form method="POST" action="sciezka-do-servletu">
<input type="text" name="moj-parametr">
</form>

Pobranie parametru o nazwie "moj-parametr" wygląda tak:

String mojParametr = request.getParameter("moj-parametr");
0

Mam tak zrobione. Jest ok.

Jeśli natomiast mam taką metodę:

String wypisz()
    {
         System.out.println("napis");
         return gatunek;

    }

to w NewServlecie mam:

out.println("<br />" + film.wypisz))

to gatunek zostanie wypisany, ale jak sprawić aby to co jest w println w metodzie się wypisało? Jest to możliwe?

0
String wypisz() {
  // zamiast System.out.println("napis");
  return "napis " + gatunek;
}

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