doGet()和doPost()两个函数常用方法

doGet()和doPost()函数的两个参数为HttpServletRequest和HttpServletResponse对象。


HttpServletRequest接口表示浏览器请求,你可以通过这个类获取浏览器发送到服务器的任何信息。


常用方法:


String getParameter(String name)
获取指定变量名name所对应的参数值。该方法实际上为父接口javax.servlet.ServletRequest的方法。如果是GET请求则获取查询字符串后的参数,POST请求则获取<form>表单中的参数。


String[] getParameterValues(String name)
这个方法与getParameter()类似。当你要获取<input type=”check”>这类会返回多个值的表单属性时,就应当用这个方法。


String getMethod()
返回字符串"GET"或"POST"。


String getRequestURI()
获取请求的URI(不包括查询字符串)。


String getServletPath()
获取Servlet的路径。


String getPathInfo()
获取PathInfo


void setCharacterEncoding(String new)
设置请求的编码。需要处理汉字时务必要通过该方法设置正确的字符编码,否则将无法正确读取浏览器发过来的文字。








HttpServletResponse接口则用于控制服务器发送给客户端的内容


常用方法:


void setContentType(String type)
设置返回值的类型。通常的HTML内容可设置为"text/html; charset=UTF-8"等,而动态生成的图片则可以设置为"image/gif"等。输出汉字之前,务必要通过该方法指定输出的字符编码。


ServletOutputStream getOutputStream() throws IOException
向客户端发送二进制数据时,需要通过此方法获取输出流。


PrintWriter getWriter() throws IOException
向客户端发送文本数据时,需要通过此方法获取输出流。







































  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先,我们需要了解doGet()和doPost()方法的含义。doGet()和doPost()是Servlet两个常用方法,用于处理HTTP GET和POST请求。 在Servlet中,可以通过反射机制来调用其他类的方法,以下是一个示例代码,演示了如何使用doGet()和doPost()方法来调用反射类: ```java public class MyServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String className = request.getParameter("className"); String methodName = request.getParameter("methodName"); try { Class<?> cls = Class.forName(className); Method method = cls.getDeclaredMethod(methodName, HttpServletRequest.class, HttpServletResponse.class); method.invoke(cls.newInstance(), request, response); } catch (Exception e) { e.printStackTrace(); } } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } } ``` 在上述代码中,我们首先获取了HTTP请求中的className和methodName参数,分别表示要调用的类名和方法名。然后,我们通过Class.forName()方法获取了要反射的类的Class对象,之后通过Class对象的getDeclaredMethod()方法获取了要反射的方法的Method对象。 接下来,我们通过Method对象的invoke()方法调用了要反射的方法,并传入了HttpServletRequest和HttpServletResponse对象作为参数。最后,我们通过Class对象的newInstance()方法创建了一个新的对象,用于调用方法。 在使用上述代码时,需要注意以下几点: 1. 需要对参数进行校验和过滤,以避免安全问题。 2. 需要对反射类的访问权限进行设置,以避免IllegalAccessException异常。 3. 需要对反射类的构造函数进行处理,以避免InstantiationException异常。 综上所述,通过doGet()和doPost()方法可以实现反射类的调用,但需要注意安全问题和异常处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值