Servlet获取表单数据并输出浏览器页面
效果如图
Servlet是用于WEB服务器端的java小程序,(具有servlet引擎的)]WEB服务器可以把一个或一组URL地址的访问请求交给某个servlet程序去处理,servlet接受请求并产生响应内容。
页面传递数据给servlet
分几种情况:
①request.getParameter()方法获取表单单值
②request.getParmeterValues()方法获取多个值(比如复选框)
③request.getParameterNames()获取请求表单里所有具有name属性的对象,并返回一个Enumeration类型的枚举
代码块
LoginPage.html
<!DOCTYPE html><html>
<head>
<meta charset="UTF-8">
<title>
Insert title her
e</title></head><body>
<form action="DoServlet" method="post">
<div style="text-align:center;">
<p>用户名:<input type="text" name="username"/></p> <p>密码:<input type="password" name="password"/></p>
<p>性别:<input type="radio" name="sex" value="male">男<!--有name属性可单选,没有则两个都可选-->
<input type="radio" name="sex" value="female">女</p>
<p>国籍:<select name="country" size="1"><!--size设置下拉框显示条数,能够通过添加 selected 属性来定义预定义选项。 -->
<option value="America">美国
<option value="China" selected>中国 <option value="France">法国
<option value="Britain">英国
<option value="Japan">日本 </select>
<p>爱好:
<p><input type="checkbox" name="hobbies" value="sports">运动<br/>
<p><input type="checkbox" name="hobbies" value="travel">旅游<br/>
<p><input type="checkbox" name="hobbies" value="listen to music">听歌<br/>
<p><input type="checkbox" name="hobbies" value="Study">学习<br/>
<input type="submit" name="提交" value="提交"/> <input type="reset" name="清空" value="清空"/> </div> </form></body></html>
DoServlet.java
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/** * Servlet implementation class DoServlet */@WebServlet("/DoServlet")public class
DoServlet extends HttpServlet
{ private static final long serialVersionUID = 1L;
/** * @see HttpServlet#HttpServlet() */
public DoServlet()
{ super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub response.getWriter().append("Served at: ").append(request.getContextPath()); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=utf-8");
int count=1;
String name=request.getParameter("username"); String password=request.getParameter("password");
String country=request.getParameter("country");
String[] hobbies=request.getParameterValues("hobbies");
String sex=request.getParameter("sex");
PrintWriter out=response.getWriter();
out.println("用户名:"+name+"<br>");
out.println("密码:"+password+"<br>");
out.println("性别:"+sex+"<br>"); out.println("国籍:"+country+"<br>");
for(String i:hobbies) {
out.write("爱好"+(count++)+":"+i+"<br>"); } doGet(request, response); }}
提问
网页如何通过url访问java小程序(servlet)?
两种方法☺
①web.xml
web.xml文件里注册和映射其访问路径
②@WebServlet注解
最后你可以看到输出信息的页面是由java中一大段out.println输出出来的,这种方法并不常规,我们通常不在servlet中直接构建页面,而是通过输出流或者页面的跳转将信息传递给一个已经存在的页面中显示。