abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

    včera 19:33 | Nová verze

    Bylo vydáno Ubuntu 20.04.6 LTS, tj. šesté opravné vydání Ubuntu 20.04 LTS s kódovým názvem Focal Fossa. Přehled novinek v poznámkách k vydání a v přehledu změn.

    Ladislav Hagara | Komentářů: 0
    včera 14:44 | IT novinky

    Připojit neznámý USB flash disk do počítače může být nebezpečné. Dokonce může jít i o život. Někdo rozeslal ekvádorským novinářům USB flash disky, které po připojení do počítače explodují [BBC, Twitter].

    Ladislav Hagara | Komentářů: 1
    včera 13:33 | Nová verze

    Byla vydána nová verze 7.4 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a v informačním videu.

    Ladislav Hagara | Komentářů: 0
    22.3. 21:55 | Nová verze

    Byla vydána verze 11.0 s kódovým jménem Aramo linuxové distribuce Trisquel GNU/Linux. Založena je na Ubuntu 22.04 LTS a podporována bude do roku 2027. Trisquel patří mezi svobodné distribuce doporučované Nadací pro svobodný software (FSF).

    Ladislav Hagara | Komentářů: 0
    22.3. 16:55 | IT novinky

    Mozilla založila startup Mozilla.ai a vložila do něj 30 milionů dolarů. Cílem je vývoj důvěryhodné, nezávislé a open source AI.

    Ladislav Hagara | Komentářů: 2
    22.3. 16:33 | Nová verze

    Po půl roce vývoje od vydání verze 43 bylo vydáno GNOME 44 s kódovým názvem Kuala Lumpur. Přehled novinek i s náhledy v poznámkách k vydání a v novinkách pro vývojáře. Krátké představení na YouTube.

    Ladislav Hagara | Komentářů: 22
    22.3. 13:33 | IT novinky

    Letošní Turingovou cenu (2022 ACM A.M. Turing Award) získal Bob Metcalfe za vynalezení, standardizaci a komercializaci Ethernetu.

    Ladislav Hagara | Komentářů: 0
    22.3. 07:00 | Nová verze

    Svobodná webová platforma pro sdílení a přehrávání videí PeerTube (Wikipedie) byla vydána ve verzi 5.1. Přehled novinek i s náhledy v oficiálním oznámení a na GitHubu.

    Ladislav Hagara | Komentářů: 0
    21.3. 18:22 | Nová verze

    Byla vydána Java 20 / JDK 20. Nových vlastností (JEP - JDK Enhancement Proposal) je 7. Nová Java / JDK vychází každých 6 měsíců. LTS verze je 17.

    Ladislav Hagara | Komentářů: 7
    21.3. 16:44 | IT novinky

    Google spustil konverzační AI Bard. Vyzkoušet lze zatím pouze ve Spojených státech a Spojeném království. Více v Bard FAQ.

    Ladislav Hagara | Komentářů: 2
    Používáte WSL (Windows Subsystem for Linux)?
     (74%)
     (12%)
     (4%)
     (10%)
    Celkem 301 hlasů
     Komentářů: 3, poslední včera 12:45
    Rozcestník


    Dotaz: JAVA - propojeni servletu s .JSP

    tomes.io avatar 21.4.2013 21:39 tomes.io | skóre: 12 | blog: tomesh
    JAVA - propojeni servletu s .JSP
    Přečteno: 404×
    Ahoj,

    potrebuju propojit java servlet s JSP souborem. jedna se o formular ,ktery vytvari novou entitu a ja potrebuju dostat data z formulare co uzivatel vlozi do servletu.

    v servletu mam metodu addContact a provadim ji v doGet i v doPost

    Domnivam se, ze problem bude zrejme v nastaveni cesty v jsp souboru. zkousel jsem treba

    <form action="/jmenoServletu/urlPatternServletu" method="post"> ale pri vykonavani metody addContact se nenacetla data z formulare proste se mi to nepropoji... proste potrebuju propojit jsp formular se sevletem a nevim presne co mam napsat do action="????"

    Servlet nejprve vypise seznam entit v db a pak se zobrazi formular pro vytvoreni noveho kontaktu.

    Budu rad za kazde nakopnuti

    Servlet:
    
    @WebServlet(name = "AddressBookServlet", urlPatterns = {"/do"})
    
    public class AddressBookServlet extends HttpServlet {
    
        private GroupManagerImpl groupManager = new GroupManagerImpl();
        private ContactManagerImpl contactManager = new ContactManagerImpl();
       
        @Resource(name = "jdbc/AddressBookManagerWeb")
        private void setDataSource(DataSource dataSource) {
            groupManager.setDataSource(dataSource);
            contactManager.setDataSource(dataSource);
            
        }
    
        protected void processRequest(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            response.setContentType("text/html;charset=UTF-8");
    
            List<Group> groups = groupManager.getAllGroups();
            request.setAttribute("groups", groups);
            List<Contact> contact = contactManager.getAllContacts();
            request.setAttribute("contacts", contact);
            request.getRequestDispatcher("/list.jsp").forward(request, response);
            
        }
        
        protected void addContact(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
            
            
    
                    String name = request.getParameter("name");
                    String surname = request.getParameter("surname");
                    String phoneNumber = request.getParameter("phonenumber");
                    String email = request.getParameter("email");
    
                    //zpracování dat - vytvoření záznamu v databázi
                    try {
                        Contact contact = new Contact();
                        contact.setName(name);
                        contact.setSurname(surname);
                        contact.setPhoneNumber(phoneNumber);
                        contact.setEmail(email);
                        
                        contactManager.createContact(contact);
                        
                    } catch (Exception e) {
                        response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e.getMessage());
                        
                    }
                
            
        }
           
    
     
        @Override
        protected void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            processRequest(request, response);
            addContact(request, response);
        }
    
       
        @Override
        protected void doPost(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            processRequest(request, response);
            addContact(request, response);
        }
    
      
        @Override
        public String getServletInfo() {
            return "Short description";
        }
    }
    Inicializace formulare v jsp souboru. Nejsem s to sem dat celu obsah kvuli tagum, formular mi porad hazi same chyby typu:
    Značky PRE a TH jsou překříženy!
    atd... proste nasleduje klasicky formular pro zadavani parametru
            
    
    
    <form action="/servlet/do" method="post">
    <table>
            <tr>
                Name:
                <td><input type="text" name="name" value="<c:out value='${param.name}'/>"/>TD tag
         
    </form>
    

    Řešení dotazu:


    Odpovědi

    Luboš Doležel (Doli) avatar 22.4.2013 10:31 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: JAVA - propojeni servletu s .JSP
    No, musíte tam dát URL, kam jste ten servlet namapoval. Takže kontext (prefix celé aplikace) + vlastní URL servletu (vidím tam "/do").
    tomes.io avatar 22.4.2013 21:30 tomes.io | skóre: 12 | blog: tomesh
    Rozbalit Rozbalit vše Re: JAVA - propojeni servletu s .JSP
    Diky, to pomohlo.

    Rad bych se jeste zeptal, jak vicekrat pouzit tentyz parametr z JSP. Jednou ho totiz do servletu dostanu podruhe ne.

    JSP:
     <c:forEach items="${contacts}" var="contact" varStatus="loopStatus">
                 <tr class="${loopStatus.index % 2 == 0 ? 'odd' : 'even'}">
                     <td> <c:out value="${contact.name}"/</td>
                     <td><c:out value="${contact.surname}"/</td>
                     <td><c:out value="${contact.phoneNumber}"/></td>
                     <td><c:out value="${contact.email}"/></td>       
                    
                     <td>
                         <form action="<c:url value="/DeleteContact"/>" method="post">
                            <input type="hidden" id="id" value="${contact.id}" name="id"/>
                            <p><input type="Submit" value="Delete contact" name="submit"/></p>
                        </form>
                            
                        <form action=" <c:url value="/UpdateContact"/>" method="post">
                             <input type="hidden" value="${contact.id}" name="id"/>
                             <p> <a href=" <c:url value="/UpdateContact"/>">Update Contact</a></p>
                        </form>        
                     </td>
                 </tr>
                                
            </c:forEach>
    
    Ja potrebuju do servletu dostat parametr
    id
    Ta nacte ID prislusne entity, takze kdyz chci smazat Contact, tak se mi t odari, v prislusne metode servletu mam:
    Long id = Long.valueOf(request.getParameter("id"));
    Jenze pro
    /Update Contact
    se mi id nepodari dostat. Vraci null. Ten UpdateContact presmerovava na formulat, ktery nacita nova data, ktera budou updatovat atributy entity Contact. V servletove metode pro Update pouzovam tutez metodu pro ziskani ID jako v metode pro delete:
    Long id = Long.valueOf(request.getParameter("id"));
    Jde mi o to, abych mel u kazde entity tlacitko na DELETE nebo UPDATE. Ale pro update se mi z nejakeho duvodu nedari ziskat to ID. Nevedel by nekdo proc?
    tomes.io avatar 23.4.2013 08:21 tomes.io | skóre: 12 | blog: tomesh
    Rozbalit Rozbalit vše Re: JAVA - propojeni servletu s .JSP
    Tak jsem zjistil, ze problem je v
    href
    tagu:
    http://stackoverflow.com/questions/11913609/hidden-input-in-jsp-produces-null-when-passing-it-to-the-servlet
    A melo by se pouzit submit (tak, jak to mam pro DELETE). Jenze jak to v JSP napsat tak, aby se po kliknuti na SUBMIT do servletu nacetl hidden parametr a zobrazila se stranka s formularem, kam uzivatel vyplni udaje k updatu? Potreboval bych to ze SUBMIT presmerovat na muj .jsp soubor kde je formular pro update.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.