Java Tutorial/Servlet/Form
Содержание
Get Form Text Field as a Servlet parameter
<source lang="java">
import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class MyServlet extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { res.setContentType("text/html"); PrintWriter out = res.getWriter(); String name = req.getParameter("name"); out.println("<HTML>"); out.println("<HEAD><TITLE>Hello, " + name + "</TITLE></HEAD>"); out.println("<BODY>"); out.println("Hello, " + name); out.println("</BODY></HTML>"); } public String getServletInfo() { return "A servlet that knows the name of the person to whom it"s" + "saying hello"; }
}</source>
Servlet Based GuestBook
<source lang="java">
import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import java.util.*; public class MyServlet extends HttpServlet {
private Vector entries = new Vector(); private long lastModified = 0; public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { res.setContentType("text/html"); PrintWriter out = res.getWriter(); printHeader(out); printForm(out); printMessages(out); printFooter(out); } // Add a new entry, then dispatch back to doGet() public void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { handleForm(req, res); doGet(req, res); } private void printHeader(PrintWriter out) throws ServletException { out.println("<HTML><HEAD><TITLE>Guestbook</TITLE></HEAD>"); out.println("<BODY>"); } private void printForm(PrintWriter out) throws ServletException { out.println("<FORM METHOD=POST>"); // posts to itself out.println("Please submit your feedback:out.println("
"); out.println("Your name: <INPUT TYPE=TEXT NAME=name>
"); out.println("Your email: <INPUT TYPE=TEXT NAME=email>
"); out.println("Comment: <INPUT TYPE=TEXT SIZE=50 NAME=comment>
"); out.println("<INPUT TYPE=SUBMIT VALUE=\"Send Feedback\">
"); out.println("</FORM>");
");
} private void printMessages(PrintWriter out) throws ServletException { String name, email, comment; Enumeration e = entries.elements(); while (e.hasMoreElements()) { GuestbookEntry entry = (GuestbookEntry) e.nextElement(); name = entry.name; if (name == null) name = "Unknown user"; email = entry.email; if (name == null) email = "Unknown email"; comment = entry.rument; if (comment == null) comment = "No comment";out.println("
- ");
out.println("
- " + name + " (" + email + ") says"); out.println("
" + comment + "
"); out.println("
// Sleep for half a second to simulate a slow data source try { Thread.sleep(500); } catch (InterruptedException ignored) { } } } private void printFooter(PrintWriter out) throws ServletException { out.println("</BODY>"); } private void handleForm(HttpServletRequest req, HttpServletResponse res) { GuestbookEntry entry = new GuestbookEntry(); entry.name = req.getParameter("name"); entry.email = req.getParameter("email"); entry.rument = req.getParameter("comment"); entries.addElement(entry); // Make note we have a new last modified time lastModified = System.currentTimeMillis(); } public long getLastModified(HttpServletRequest req) { return lastModified; }
} class GuestbookEntry {
public String name; public String email; public String comment;
}</source>
Servlet Form Processor CheckBox
<source lang="java">
import javax.servlet.http.*; import javax.servlet.*; import java.io.IOException; public class MyServlet extends HttpServlet {
public void doPost (HttpServletRequest req, HttpServletResponse res) throws IOException { ServletOutputStream out = res.getOutputStream(); res.setContentType("text/html"); out.println("<html><head><title>Basic Form Processor Output</title></head>"); out.println("<body>");out.println("
Here is your Form Data
");//extract the form data here String title = req.getParameter("title"); String name = req.getParameter("name"); String city = req.getParameter("city"); String country = req.getParameter("country"); String tel = req.getParameter("tel"); String age = req.getParameter("age"); // extracting data from the checkbox field String[] interests = req.getParameterValues("interests"); //output the data into a web page out.println("Your title is " + title); out.println("out.println("
Your name is " + name); out.println("
Your city is " + city); out.println("
Your country is " + country); out.println("
Your tel is " + tel);
Your interests include
- ");
for (int i=0;i<interests.length; i++) {
out.println("
- " + interests[i]); } out.println("
out.println("
Your age is " + age); out.println("</body></html>"); }
}</source>
Servlet Post Form Data to Self Servlet
<source lang="java">
import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import java.util.*; public class MyServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, java.io.IOException { System.out.println("command: "+request.getParameter("command")); response.setContentType("text/html"); java.io.PrintWriter out = response.getWriter(); out.println("<html><head>"); out.println("<title>Help Page</title></head><body>");out.println("
Please submit your information
");out.println("<form method=\"post\" action =\"" + request.getContextPath() +"/MyServlet\" >");out.println("
"); out.println("Your first name: | ");
out.println("<input type=\"text\" name=\"firstname\" size=\"20\">");out.println(" |
"); out.println("Your last name: | ");
out.println("<input type=\"text\" name=\"lastname\" size=\"20\">");out.println(" |
"); out.println("Your email: | ");
out.println("<input type=\"text\" name=\"email\" size=\"20\">");out.println(" |
"); out.println("<input type=\"submit\" value=\"Submit Info\"> |
out.println("</body></html>"); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException,java.io.IOException{ Enumeration paramNames = request.getParameterNames(); String parName; boolean emptyEnum = false; if (! paramNames.hasMoreElements()) emptyEnum = true;
response.setContentType("text/html"); java.io.PrintWriter out = response.getWriter(); out.println("<html><head>"); out.println("<title>Submitted Parameters</title></head><body>"); if (emptyEnum){out.println("
Sorry, the request does not contain any parameters
");} else {out.println("
Here are the submitted parameter values
");} while(paramNames.hasMoreElements()){ parName = (String) paramNames.nextElement(); out.println("" + parName + " : " + request.getParameter(parName)); out.println("
"); } out.println("</body></html>"); }
}</source>