web上课内容——客户端到服务器的数据传递

一、携带数据的请求

1.提交数据给Servlet处理的请求

2.应用服务器把浏览器提交的数据放在request对象中,并在调用过程中提交给Servlet

3.客户端到服务器的传递

web上课内容——客户端到服务器的数据传递_第1张图片 

二、实例创建——提交用户名

1.按照以下截图进行文件目录的创建。

web上课内容——客户端到服务器的数据传递_第2张图片

 2.打开Khd.html文件,进行以下的编辑,创建表单。





客户端到服务器的数据传递





用户名:

 3.再对Servlet1进行编辑,接收到html文件传递过来的数据。

package s;

import java.io.IOException;
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 Servlet1
 */
@WebServlet("/Servlet1")
public class Servlet1 extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public Servlet1() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		//获取网页传递的数据
		String s = request.getParameter("n");
		
		//解决将数据传递给网页时的中文显示问题
		response.setContentType("text/html;charset=UTF-8");
		// TODO Auto-generated method stub
		//创建的网页代码显示
		response.getWriter().print("");
		response.getWriter().print("网页提交的用户名为:"+s);
		response.getWriter().print("");
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}

4.展示以上的网页如下。

html网页展示:

web上课内容——客户端到服务器的数据传递_第3张图片

Servlet1接收到数据展示如下: 

 web上课内容——客户端到服务器的数据传递_第4张图片

 三、课堂练习——求两个数的最大公约数,数字由表单提交

1.编辑Khd.html文件





客户端到服务器的数据传递





请输入第一个数:
请输入第二个数:

2.编辑Servlet1文件,进行接收数据并计算最大公约数

package s;

import java.io.IOException;
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 Servlet1
 */
@WebServlet("/Servlet1")
public class Servlet1 extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public Servlet1() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		//获取网页传递的数据,因为接收到的数据为字符串类型,因此在这里转换为整型,从而进行计算
		int a = Integer.valueOf(request.getParameter("x"));
		int b = Integer.valueOf(request.getParameter("y"));
		
		//进行复制,方便最大公约数的计算,计算两个数的最大公约数
		int x = a;
		int y = b;
		int gcd=1;
		for(int i=1;i<=x; i++) {
			if(i < y) {
				if(x%i==0 && y%i==0) {
					gcd = i;
				}
			}
		}
		
		//解决将数据传递给网页时的中文显示问题
		response.setContentType("text/html;charset=UTF-8");
		// TODO Auto-generated method stub
		//创建的网页代码显示
		response.getWriter().print("");
		response.getWriter().print("输入的第一个数为:"+a+"
"); response.getWriter().print("输入的第二个数为:"+b+"
"); response.getWriter().print("两个数的最大公约数为"+gcd); response.getWriter().print(""); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); } }

3.展示运行结果

html文件

web上课内容——客户端到服务器的数据传递_第5张图片

Servlet1文件

 web上课内容——客户端到服务器的数据传递_第6张图片

你可能感兴趣的:(java,web学习,服务器,servlet,html)