栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

request和response对象

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

request和response对象

1、request对象

在JSP中,request是服务器提供的内置对象,它封装了用户提交的信息,该对象调用相应的方法就可以获取封装的信息,request实际上是ServletRequest接口类的一个实例。

2、request对象的常用方法

(1)String getParameter(String s)  用于获取用户提交的信息

(2)String getProtocol() 获取用户向服务器提交信息所使用的通信协议,例如http/1.1等

(3)String getServletPath() 获取用户请求的JSP页面文件的名字

(4)String getContextPath() 获取用户请求的当前Web服务目录

(5)int getContentLength() 获取用户提交的整个信息长度

(6)String getMethod() 获取用户提交信息的方式,例如post和get

(7)String getHeader(String s) 获取HTTP头文件中的参数s指定的头名字的值

(8)Enumeration getHeaderNames() 获取头名字的一个枚举

(9)Enumeration getHeaders(String s) 获取头文件中指定头名字的全部值的一个枚举

(10)String getRemoteAddr() 获取用户的IP地址

(11)String getRemoteHost() 获取用户机的名称(如果获取不到,就获取IP地址) 

(12)String getServerName() 获取服务器的名称

(13)String getServerPort() 获取服务器的端口号

(14)Enumeration getParameterNames() 获取用户提交的信息体部分中各个name给出的参数的一个枚举

例:三角形面积计算

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




Insert title here


<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




Insert title here


<% String sideA=request.getParameter("sizeA"); String sideB=request.getParameter("sizeB"); String sideC=request.getParameter("sizeC"); try{ double a=Double.parseDouble(sideA); double b=Double.parseDouble(sideB); double c=Double.parseDouble(sideC); double p=(a+b+c)/2,area=0; area=Math.sqrt(p*(p-a)*(p-b)*(p-c)); String result=String.format("%.2f",area); out.println("
三边:"+sideA+","+sideB+","+sideC); out.println("
三角形面积(保留两位小数):"+result); } catch(NumberFormatException ee) { out.println("
请输入数字字符"); } %>

 效果:

 

 

 

3、response对象

response可以对用户的请求作出动态响应,向客户端发送数据。 

例(用response将结果传入到客户端):

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>





Insert title here


输入圆的半径:
半径:


 

<%@ page contentType="text/html" %>
<%@ page pageEncoding="utf-8" %>
<%@ page import="java.awt.*" %>
<%@ page import="java.io.OutputStream" %>
<%@ page import="java.awt.image.BufferedImage" %>
<%@ page import="java.awt.geom.*" %>
<%@ page import="javax.imageio.ImageIO" %>

<%!
    void drawCircle(double r,HttpServletResponse response)
    {
	    int width=320,height=300;
	    BufferedImage image = new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);
	    Graphics g = image.getGraphics();
	    g.fillRect(0,0,width,height);
	    Graphics2D g_2d = (Graphics2D)g;
	    Ellipse2D ellipse = new Ellipse2D.Double(160-r,150-r,2*r,2*r);
	    g_2d.setColor(Color.blue);
	    g_2d.draw(ellipse);
	    try{
	    	OutputStream outClient = response.getOutputStream();
	    	boolean boo = ImageIO.write(image,"jpeg",outClient);
	    }
	    catch(Exception exp){}
    }
    double getArea(double r)
    {
    	return Math.PI*r*r;
    }
%>
<% 
    request.setCharacterEncoding("utf-8");
    String submitValue = request.getParameter("submit");
    String radius = request.getParameter("radius");
    double r = Double.parseDouble(radius);
    if(submitValue.equals("提交查看图形"))
    {
    	response.setContentType("image/jpeg");
    	drawCircle(r,response);
    }
%>


<% double area=getArea(r); String result = String.format("%.2f",area); %> 半径:<%=radius %>
面积(保留两位小数)
<%=result %>

 

 

 

 response对象的重定向

某些情况下,当响应用户时,需要将用户引导至另一个页面。

语法:response.sendRedirect(url);

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/837702.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号