Servlet介绍(二)

——————————接上文Servlet介绍(一)——————

这里着重来说一下服务器获取请求参数的几种方法,首先是通过getParameter方法获取请求参数的值,第二种通过getParameterNames获取所有请求参数的名称,返回一个Enumeration 类型,然后循环迭代取值,第三种是通过getParameterValues获取同一参数名的值,该方法返回一个String数组,第四种,也是最重要的一种是通过getParameterMap方法将请求参数名和值封装到一个map对象中,返回Map<String,String[]>对象,注意键的值是一个String数组(其目的是防止同一参数名称有多个值),若引入了BeanUtils库,则调用其populate方法可将参数封装到一个对象中,实际上,Struts2框架也是通过此方法将值封装至对象,最后一种通过request的getInputStream来获取数据:

    InputStream in=null;
        int len=0;
        byte[] buf=new byte[1024];
        try {
            in=req.getInputStream();
            while((len=in.read(buf))!=-1){
                System.out.println(new String(buf,0,len));
            }
        } catch (IOException e) {
            e.printStackTrace();
        }

但其只能通过post请求来获取数据,无法通过get来获取数据。这种方法很少用,其主要作用是用来进行文件上传:

        InputStream in=null;
        OutputStream out=null;
        int len=0;
        byte[] buf=new byte[1024];
        try {
             in=req.getInputStream();
             out=new FileOutputStream("TestServlet\\download");
             while((len=in.read(buf))!=-1){
                 out.write(buf, 0, len);
             }
        } catch (IOException e) {
            e.printStackTrace();
        }
时间: 2024-10-07 06:08:28

Servlet介绍(二)的相关文章

javaweb学习之Servlet开发(二)

javaweb学习总结(六)--Servlet开发(二) 一.ServletConfig讲解 1.1.配置Servlet初始化参数 在Servlet的配置文件web.xml中,可以使用一个或多个<init-param>标签为servlet配置一些初始化参数. 例如: 1 <servlet> 2 <servlet-name>ServletConfigDemo1</servlet-name> 3 <servlet-class>gacl.servlet

javaweb学习总结(六)——Servlet开发(二)

转载:http://www.cnblogs.com/xdp-gacl/p/3763559.html 只为成功找方法,不为失败找借口! javaweb学习总结(六)——Servlet开发(二) 一.ServletConfig讲解 1.1.配置Servlet初始化参数 在Servlet的配置文件web.xml中,可以使用一个或多个<init-param>标签为servlet配置一些初始化参数. 例如: 1 <servlet> 2 <servlet-name>ServletC

Servlet介绍

Servlet介绍 Servlet是一个运行在web服务器上的小的Java程序,它通过接收和响应web客户端的请求,在tomcat服务器中有已经帮我们实现好了Servlet接口的实现类:javax.servlet.GenericServlet和javax.servlet.http.HttpServlet类,我们只需重写其方法即可.关于ServletAPI的介绍如下: public interface Servlet Defines methods that all servlets must i

linux程序分析工具介绍(二)—-ldd,nm

本文要介绍的ldd和nm是linux下,两个用来分析程序很实用的工具.ldd是用来分析程序运行时需要依赖的动态库的工具:nm是用来查看指定程序中的符号表相关内容的工具.下面通过例子,分别来介绍一下这两个工具: 1. ldd, 先看下面的例子, 用ldd查看cs程序所依赖的动态库: [email protected]:~/Public$ ldd cs linux-gate.so.1 => (0xffffe000) libz.so.1 => /lib/libz.so.1 (0xb7f8c000)

Avaya Exrience Portal(AEP)基础介绍 二(四大组件总结)

什么是Avaya Exrience Portal(AEP)? 1:提供语音(或者多媒体)自动化用户体验的软件平台:  2:基于标准的VXML(定义了如何使用语音识别.语音合成.互联网访问.数据库访问.语音文件播放.DTMF输入等功能开发一个完整的语音应用系统.)和CCXML(它基于XML定义了一系列开放标准的呼叫控制API)的应用:  3:支持多媒体处理:  4:完全基于Web架构:  5:支持TTS文语转换和语音识别技术:     2)AEP包含的组件   EPM:AEP集成的管理,报表,监控

Servlet开发(二)

首先声明:本文转载自:@孤傲苍狼 https://home.cnblogs.com/u/xdp-gacl/ javaweb学习总结(六)——Servlet开发(二) 一.ServletConfig讲解 1.1.配置Servlet初始化参数 在Servlet的配置文件web.xml中,可以使用一个或多个<init-param>标签为servlet配置一些初始化参数. 例如: 1 <servlet> 2 <servlet-name>ServletConfigDemo1<

Lucene.Net 2.3.1开发介绍 —— 二、分词(五)

原文:Lucene.Net 2.3.1开发介绍 -- 二.分词(五) 2.1.3 二元分词 上一节通过变换查询表达式满足了需求,但是在实际应用中,如果那样查询,会出现另外一个问题,因为,那样搜索,是只要出现这个字,不管它出现在什么位置.这就产生了上一小节开头讲的,对准确性产生了极大干扰.比如,如果有一段这样的话:“这是一个英雄!他有无法用词汇形容的孤单,但是他并没有用言语来表达.”这句话包含了“英 语 单 词”这四个字,但是却和“英语单词”一点关系都没有.首先想到的解决方法,就是把句子按词来划分

Lucene.Net 2.3.1开发介绍 —— 二、分词(四)

原文:Lucene.Net 2.3.1开发介绍 -- 二.分词(四) 2.1.2 可以使用的内置分词 简单的分词方式并不能满足需求.前文说过Lucene.Net内置分词中StandardAnalyzer分词还算比较实用(见1.1.2小节).StandardAnalyzer为什么能满足我们的部分需求,而它又有哪些不足呢?看分词的好坏还是要从效果说起.简单的说,在中英文混合的情况下,StandardAnalyzer会把英文按空格拆,而中文则按单字拆.因为中文是按单字拆,所以对分词的准确性起到了干扰,

Lucene.Net 2.3.1开发介绍 —— 二、分词(三)

原文:Lucene.Net 2.3.1开发介绍 -- 二.分词(三) 1.3 分词器结构 1.3.1 分词器整体结构 从1.2节的分析,终于做到了管中窥豹,现在在Lucene.Net项目中添加一个类关系图,把TokenStream和他的儿孙们统统拉上去,就能比较好的把握他们之间的关系. 图 1.3.1.1 如图1.3.1.1 就是他们的类关系图.看出如果要做一个分词器,最短的路,就是继承第二代,成为第三代.然后再写一个Analyzer的子类,专门用来做新分词器的适配器就好了.转换器.  呵呵,写