JavaWeb实现表单提交的示例详解
作者:BoBo yeah
这篇文章主要介绍了如何利用JavaWeb实现表单提交功能,文中的示例代码讲解详细,对我们学习JavaWeb有一定帮助,感兴趣的可以了解一下
register.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>register.html</title> </head> <body> <center><h1>注册表单</h1></center> <center> <form action="register" method="get"> 用户名:<input type="text" name="username"/><br/> 密码:<input type="password" name="pwd"/><br/> 请选择感兴趣的研究方向: <label for="01">人工智能</label> <input type="checkbox" name="interest" value="AI" id="01" /> <label for="02">机器学习</label> <input type="checkbox" name="interest" value="ML" id="02" /> <label for="03">自动驾驶</label> <input type="checkbox" name="interest" value="AutoDrive" id="03" /> <label for="04">网络安全</label> <input type="checkbox" name="interest" value="Network" id="04" /> <br/> <input type="submit" name="smt" value="提交"/> </form> </center> </body> </html>
RegisterServlet.java
package request; import java.io.IOException; import java.io.PrintWriter; import java.util.Arrays; import java.util.Enumeration; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class RegisterServlet extends HttpServlet{ //调出doGet方法 protected void doGet(HttpServletRequest req,HttpServletResponse res) throws ServletException,IOException { //使用req接收请求参数 String strName=req.getParameter("username"); //处理中文乱发问题 byte[] bs=strName.getBytes("iso8859-1"); String name=new String(bs,"utf-8"); System.out.println(name); } //调出doPost方法 protected void doPost(HttpServletRequest req,HttpServletResponse res) throws ServletException,IOException { //设置请求参数中的编码 req.setCharacterEncoding("utf-8"); //使用req接收请求参数 String strName=req.getParameter("username"); System.out.println("strName"); } //调出service方法 protected void service(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{ PrintWriter pw=response.getWriter(); System.out.println("注册。。。"); //1.获取浏览器端发送请求的完整路径; StringBuffer sbuf=request.getRequestURL(); pw.println("url:"+sbuf); //System.out.println(sbuf); //2.获取资源名部分-请求路径中8080后的地址; String uri=request.getRequestURI(); pw.println("uri:"+uri); //3.获取请求路径中参数; String qs=request.getQueryString(); pw.println("qs:"+qs); //4.获取请求路径中的ip地址; String ip=request.getRemoteAddr(); pw.println("ip:"+ip);//ip=127.0.0.1 //5.获取浏览器发送请求的方式(get请求、post请求) //在浏览器端,浏览器地址栏回车、超链接、表单的默认方式都是get请求方式 //在浏览器端,表单设置method="post"的方式提交是post请求方式 String method=request.getMethod(); pw.println("method="+method);//method=GET //6.获取web应用名 String cp=request.getContextPath(); pw.println("cp="+cp);//cp=/servlet //接收表单提交发送过来的参数 //获得单个value值 String strName=request.getParameter("username"); String strPwd=request.getParameter("pwd"); pw.println("Name:"+strName+" Pwd:"+strPwd); //获得多个对应value值 String[] strInterest=request.getParameterValues("interest"); pw.println(Arrays.toString(strInterest)); //获取请求参数中所有的name值 Enumeration<String> names=request.getAttributeNames(); pw.println(names); //使用循环将names中的内容取出 while(names.hasMoreElements()){ System.out.println(names.nextElement()); } } }
修改web.xml,添加如下code
<!-- 配置RegisterServlet --> <servlet> <servlet-name>RegisterServlet</servlet-name> <!-- 配置Servlet的路径:包名+类名 --> <servlet-class>request.RegisterServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>RegisterServlet</servlet-name> <url-pattern>/register</url-pattern> </servlet-mapping>
重新配置服务器
先点击左侧图标
再点击Redeploy,重新部署Tomcat服务器
访问表单页面
http://127.0.0.1:8080/Servlet/register.html
到此这篇关于JavaWeb实现表单提交的示例详解的文章就介绍到这了,更多相关JavaWeb表单提交内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!