How to transfer data from JSP to servlet when submitting HTML form -


i have jsp page html form:

<form action="servlet">     <input type="text" name="name"/><br>             <input type="text" name="group"/>     <input type="text" name="pass"/>     <input type="submit" value="submit">             </form> 

how obtain these data in servlet , add them database?

create class extends httpservlet , put @webservlet annotation on containing desired url servlet should listen on.

@webservlet("/yourservleturl") public class yourservlet extends httpservlet {} 

and let <form action> point url. i'd recommend use post method non-idempotent requests. should make sure have specified name attribute of html form input fields (<input>, <select>, <textarea> , <button>). represents http request parameter name. finally, need make sure input fields of interest enclosed inside desired form , not outside.

here examples of various html form input fields:

<form action="${pagecontext.request.contextpath}/yourservleturl" method="post">     <p>normal text field.             <input type="text" name="name" /></p>      <p>secret text field.             <input type="password" name="pass" /></p>      <p>single-selection radiobuttons.             <input type="radio" name="gender" value="m" /> male     <input type="radio" name="gender" value="f" /> female</p>      <p>single-selection checkbox.     <input type="checkbox" name="agree" /> agree?</p>      <p>multi-selection checkboxes.     <input type="checkbox" name="role" value="user" /> user     <input type="checkbox" name="role" value="admin" /> admin</p>      <p>single-selection dropdown.     <select name="countrycode">         <option value="nl">netherlands</option>         <option value="us">united states</option>     </select></p>      <p>multi-selection listbox.     <select name="animalid" multiple="true" size="2">         <option value="1">cat</option>         <option value="2">dog</option>     </select></p>      <p>text area.     <textarea name="message"></textarea></p>      <p>submit button.     <input type="submit" name="submit" value="submit" /></p> </form> 

create dopost() method in servlet grabs submitted input values request parameters keyed input field's name (not id!). can use request.getparmeter() submitted value single-value fields , request.getparametervalues() submitted values multi-value fields.

@override protected void dopost(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception {     string name = request.getparameter("name");     string pass = request.getparameter("pass");     string gender = request.getparameter("gender");     boolean agree = request.getparameter("agree") != null;     string[] roles = request.getparametervalues("role");     string countrycode = request.getparameter("countrycode");     string[] animalids = request.getparametervalues("animalid")     string message = request.getparameter("message");     boolean submitbuttonpressed = request.getparameter("submit") != null;     // ... } 

do if necessary validation , persist in db usual jdbc/dao way.

user user = new user(name, pass, roles); userdao.save(user); 

see also:


Comments

Popular posts from this blog

javascript - Enclosure Memory Copies -

php - Replacing tags in braces, even nested tags, with regex -