一、客户端传递数据的方式
客户端往 web服务器传递数据, 通常有两种方式:使用表单或者将数据附在URL后面。这些数据传递给Web服务器中的程序后,通常需要将它们提取出来,然后对这些数据进行相应的处理。
二、在Servlet中读取客户端发送的数据
<FORM>标记是接收客户端的输入,讲用户输入的数据提交到<FORM>标记的<Action>熟悉。通常,无论是用GET还是POST方式提交表单,都是将表单中的各个元素值按照“名-值”对的形式传递到服务器端的。因此,我们可以在服务端的程序中,通过分析“名-值”对系列来获得我们需要的数据。一般在Servlet中,我们可以使用Servlet内建机制,达到这个目的。
在Servlet中,根据客户端的请求方式,会调用doGet()或doPost()方法来处理,并且这两个方法有相同的参数:HttpServletRequest和HttpServletResponse。HttpServletRequest包含很多客户端的请求信息,而表单数据就包含在其中。 通过HttpServletRequest对象上的getParameter()方法,并且给这个方法一个字符串参数,用于指定需要获取的参数的名字,就可以得到对应参数名的值。在这里要特别注意, getParameter()方法的参数必须和表单元素的名称一致,并且严格区分大小写。getParameter()方法已经封装好哦了如何分析并获得客户端传递的这些表单数据的过程,我们直接使用这个方法就可以得到和客户端输入一致的数据。
getPersonData.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>getPersonData.html</title>
<meta. http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta. http-equiv="description" content="this is my page">
<meta. http-equiv="content-type" content="text/html; charset=UTF-8">
<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
</head>
<body>
<form. name=" test" method="post" action="chop01.GetPersonData">
用户名:<input type="text" name="UserName"/>
<br/>
密码:<input type="password" name="Pwd"/>
<br/>
<input type="submit" value="提交" >
</form>
</body>
</html>
GetPersonData.java
package chop01;
import java.io.IOException;
import java.io.*;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class GetPersonData extends HttpServlet{
public void service(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{
String username;
String password;
//读取“姓名”
username = request.getParameter("UserName");
//读取“密码”
password = request.getParameter("Pwd");
PrintWriter ut = response.getWriter();
out.println("UserNamme:"+username);
out.println("Password:"+password);
}
}
客户端往 web服务器传递数据, 通常有两种方式:使用表单或者将数据附在URL后面。这些数据传递给Web服务器中的程序后,通常需要将它们提取出来,然后对这些数据进行相应的处理。
二、在Servlet中读取客户端发送的数据
<FORM>标记是接收客户端的输入,讲用户输入的数据提交到<FORM>标记的<Action>熟悉。通常,无论是用GET还是POST方式提交表单,都是将表单中的各个元素值按照“名-值”对的形式传递到服务器端的。因此,我们可以在服务端的程序中,通过分析“名-值”对系列来获得我们需要的数据。一般在Servlet中,我们可以使用Servlet内建机制,达到这个目的。
在Servlet中,根据客户端的请求方式,会调用doGet()或doPost()方法来处理,并且这两个方法有相同的参数:HttpServletRequest和HttpServletResponse。HttpServletRequest包含很多客户端的请求信息,而表单数据就包含在其中。 通过HttpServletRequest对象上的getParameter()方法,并且给这个方法一个字符串参数,用于指定需要获取的参数的名字,就可以得到对应参数名的值。在这里要特别注意, getParameter()方法的参数必须和表单元素的名称一致,并且严格区分大小写。getParameter()方法已经封装好哦了如何分析并获得客户端传递的这些表单数据的过程,我们直接使用这个方法就可以得到和客户端输入一致的数据。
getPersonData.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>getPersonData.html</title>
<meta. http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta. http-equiv="description" content="this is my page">
<meta. http-equiv="content-type" content="text/html; charset=UTF-8">
<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
</head>
<body>
<form. name=" test" method="post" action="chop01.GetPersonData">
用户名:<input type="text" name="UserName"/>
<br/>
密码:<input type="password" name="Pwd"/>
<br/>
<input type="submit" value="提交" >
</form>
</body>
</html>
GetPersonData.java
package chop01;
import java.io.IOException;
import java.io.*;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class GetPersonData extends HttpServlet{
public void service(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{
String username;
String password;
//读取“姓名”
username = request.getParameter("UserName");
//读取“密码”
password = request.getParameter("Pwd");
PrintWriter ut = response.getWriter();
out.println("UserNamme:"+username);
out.println("Password:"+password);
}
}