
正文
03Servlet API
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
Servlet API
Servlet是实现javax.servlet.Servlet接口的对象。大多数Servlet通过从GenericServlet或HttpServlet类进行扩展来实现。Servlet API包含于两个包中,即javax.servlet和javax.servlet.http。
javax.servlet
|
接口 |
|
|
ServletConfig |
定义了在Servlet初始化的过程中由Servlet容器传递给Servlet的配置信息对象 |
|
ServletContext |
定义Servlet使用的方法以获取其容器的信息 |
|
ServletRequest |
定义一个对象封装客户向Servlet的请求信息 |
|
ServletResponse |
定义一个对象辅助Servlet将请求的响应信息发送给客户端 |
|
Servlet |
定义所有Servlet必须实现的方法 |
|
类 |
|
|
ServletInputStream |
定义名为readLine()的方法,从客户端 读取二进制数据 |
|
ServletOutputStream |
向客户端发送二进制数据 |
|
GenericServlet |
抽象类,定义一个通用的、独立于底层协议的Servlet |
javax.servlet.http
|
接口 |
|
|
HttpSession |
用于标识客户端并存储有关客户端的信息 |
|
HttpSessionAttributeListener |
这个侦听接口用于获取会话的属性列表的改变的通知 |
|
HttpServletRequest |
扩展ServletRequest接口,为HTTP Servlet提供HTTP请求信息 |
|
HttpServletResponse |
扩展ServletResponse接口,提供HTTP特定的发送响应的功能 |
|
类 |
|
|
HttpServlet |
扩展了GenericServlet的抽象类,用于扩展创建Http Servlet |
|
Cookie |
创建一个Cookie,用于存储Servlet发送给客户端的信息 |
HttpServletRequest获得参数名和参数值的方法
|
getParameter(String key) |
返回一个字符串,获得name和key一样的表单控件的数据,如果有重复的name,则返回第一个的值。 |
|
getParameterValues(String key) |
返回一个字符串数组,获得name和key一样的表单控件的数据,但相同name的控件会有多个,如同名的多个checkbox等。 |
|
getParameterMap() |
返回一个包含所有参数的Map,为key-String[]模式,即,key是表单控件的name,同时,为了防止有重复name的控件存在,每个name对应的值是一个字符串数组。 |
|
getParameterNames() |
返回一个枚举类型值,返回所有表单中所有表看控件的name。 |
<!DOCTYPE html> <html> <head> <meta charset="GB2312"> <title>测试接收数据</title> </head> <body> <form action="GetParam" method="get"> 发送的内容:<br><br> 框A:<input type="text" name="text"> 框B:<input type="text" name="text"> <br><br> <input name="checkbox" type="checkbox" value="a"> 选项一 <br> <input name="checkbox" type="checkbox" value="b"> 选项二 <br><br> <select name="select"> <option value="1">1</option> <option value="2">2</option> </select> <br><br> <input type="submit" value="传送"> </form> </body> </html>
package com.ahabest.param;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Enumeration;
import java.util.Iterator;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class GetParamServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("text/html;charset=gb2312");
PrintWriter out = resp.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>asss</title>");
out.println("</head>");
out.println("<body>");
req.setCharacterEncoding("gb2312");
String value = null;
value = req.getParameter("text");
out.println(value);
out.println("<br>");
value = req.getParameter("checkbox");
out.println(value);
out.println("<br>");
value = req.getParameter("select");
out.println(value);
out.println("=====================================<br>");
// 通过getParameterValues()获得的参数
out.println("getParameterValues()获得的参数<br>");
// 获得name="txt"的表单控件的值
String[] paramValue = null;
paramValue = req.getParameterValues("text");
if (null != paramValue) {
out.print("输入框内输入的值:");
for (int i = 0; i < paramValue.length; i++) {
out.print(paramValue[i]);
out.print(" ");
}
}
out.println("<br>");
// 获得name="chk"的表单控件的值
paramValue = req.getParameterValues("checkbox");
if (null != paramValue) {
out.print("多选框选中的值:");
for (int i = 0; i < paramValue.length; i++) {
out.print(paramValue[i]);
out.print(" ");
}
}
out.println("<br>");
// 获得name="sel"的表单控件的值
paramValue = req.getParameterValues("select");
if (null != paramValue) {
out.print("下拉框选中的值:");
for (int i = 0; i < paramValue.length; i++) {
out.print(paramValue[i]);
out.print(" ");
}
}
out.println("<br>");
out.println("=====================================<br>");
// 通过getParameterMap()获得的参数
out.println("getParameterMap()获得的参数<br>");
// 获得参数的Map
Map paramMap = req.getParameterMap();
Object o = null;
String[] val = null;
// 循环Map的key
for (Iterator it = paramMap.keySet()
.iterator(); it.hasNext();) {
o = it.next();
out.print(o);
out.print(":");
// 获得key对应的value
val = (String[]) paramMap.get(o);
if (null != val) {
for (int j = 0; j < val.length; j++) {
out.print(val[j]);
out.print(" ");
}
}
}
out.println("<br>");
out.println("=====================================<br>");
// 通过getParameterNames()获得参数的名称
out.println("getParameterNames()获得参数的名称<br>");
// 获得参数名称枚举
Enumeration en = req.getParameterNames();
for (;en.hasMoreElements();) {
o = en.nextElement();
out.print(o);
out.print(" ");
}
out.println("<br>");
out.println("=====================================<br>");
out.println("</body>");
out.println("</html>");
}
}
<?xml version="1.0" encoding="gb2312"?>
<web-app>
<welcome-file-list>
<welcome-file>sendparam.html</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>GetParamServlet</servlet-name>
<servlet-class>com.ahabest.param.GetParamServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>GetParamServlet</servlet-name>
<url-pattern>/GetParam</url-pattern>
</servlet-mapping>
</web-app>





