Servlet 读取表单数据
来源:互联网 发布:域名有哪些 编辑:程序博客网 时间:2024/05/22 00:07
一、表单数据
1、发送method:GET或POST。前者可显示在url中,故运用于对安全性要求低且数据少的场合。
2、servlet与传统CGI 处理表单数据的区别
说明:以GET 方式提交表单数据时,数据会出现在url 的问好之后,以name=value值对(或多个值时为name=value1|value2)的方式出现,多对数据之间以&连接,且空格变为+号。
1)、从传统CGI 读取表单数据:
首先,必须以不同方式读取GETF请求(通过QUERY_STRING环境变量)或POST请求(通过读取标准输入);
其次,必须在&号的位置截断数据串,然后将name与value值分开;
再次,必须以URL 方式将这些value值解码,因为发送表单数据时,是经过编码的,其中空格被转换成加号,其它符号将被转换成%XX(XX为该字符的ASCII码)。
例如:表单名称为users的文本字段中输入了“~hall~gates~ and ~mcnealy”,数据就会发送为“user=%7Ehall%2C%7Egates%2C+and+%7Emcnealy”。
此外,还可能有忽略个别值,一个name对应多个值得情况。
2)、Servlet读取表单数据
对于继承HttpServlet的servlet,使用HttpServletRequest对象的以下几个常用方法:
getParameter(String name):返回某个name表单元素的值。
getParameterValues(String name):用于具有多个值的name,返回String数组。
getParameterNames():以Enumeration形式可获取该表单中清单,其中每一项都可以转换成String,并用于getParameter或getParameterValues调用。
注意:HttpServletRequest API不指定这些name出现在Enumeration中的次序。
servlet读取表单简单实践:
login.jsp
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%><!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>合工大信息门户网</title><style>.pageBg{width:100%;height:100%;background:url("./imgSource/pageImg.jpg");}</style></head><body><div class="pageBg"><form action="getlogin" method="post"><fieldset style="width:200px"><legend>登录信息</legend>学号:<input type="text" name="number" style="width:120px"/><br/>密码:<input type="password" name="pass" style="width:120px"/><br/><input type="submit" value="登录"/></fieldset></form></div></body></html>jsp输出效果:
servlet:简单的读取表单数据
GetLoginRequest.java
package com.servletSolveForm.servlets;
import java.io.IOException;import java.io.PrintWriter;import java.util.Enumeration;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/** * Servlet implementation class GetLoginRequest */public class GetLoginRequest extends HttpServlet {private static final long serialVersionUID = 1L; public GetLoginRequest() { super(); }protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doPost(request,response);}protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {PrintWriter out=response.getWriter();//通过清单取值Enumeration paramNames=request.getParameterNames();while(paramNames.hasMoreElements()){String paramName=(String) paramNames.nextElement();out.println(paramName+":"+request.getParameter(paramName));}//单个取值out.println("number:"+request.getParameter("number")+'\n'+"pass:"+request.getParameter("pass"));}}
web.xml中servlet的配置:
<servlet> <description></description> <display-name>GetLoginRequest</display-name> <servlet-name>GetLoginRequest</servlet-name> <servlet-class>com.servletSolveForm.servlets.GetLoginRequest</servlet-class> </servlet> <servlet-mapping> <servlet-name>GetLoginRequest</servlet-name> <url-pattern>/getlogin</url-pattern> </servlet-mapping>说明:其中getlogin为表单转到此servlet对应的action值,一个servlet可有多个映射。
servlet处理请求结果:
- Servlet 读取表单数据
- Servlet 读取表单数据
- 使用 Servlet 读取表单数据
- 利用Servlet读取HTML表单数据-Servlet学习笔记
- servlet初始02-servlet读取表单报头数据会话跟踪
- Servlet处理表单数据
- servlet处理表单数据
- Servlet处理表单数据
- servlet验证表单数据
- Servlet 表单数据
- Servlet 表单数据
- Servlet获取表单数据
- Servlet-表单数据
- Servlet 表单数据
- servlet获取表单数据
- servlet获取表单数据
- Servlet表单数据
- Servlet表单数据
- GIT分支开发规范
- 消息队列
- python中sort的常用方法
- java中的分布式应用(二)之各类中间件中用到的算法
- Android ToggleButton:状态切换的Button
- Servlet 读取表单数据
- hadoop报错report: Call From xxx to xxx failed on connect
- c# 打开文件对话框
- 分布式文件系统FastDFS设计原理
- Android listview addHeaderView 和 addFooterView 理解
- 汉字转拼音
- 正确的电源纹波测试方法
- 在团队开发中git的使用
- Java(接口定义,接口实现)