servlet中怎样接收jsp的form表单提交的内容,该如何解决

 我来答
huanglenzhi
推荐于2017-10-05 · 知道合伙人数码行家
huanglenzhi
知道合伙人数码行家
采纳数:117538 获赞数:517166
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。

向TA提问 私信TA
展开全部
package com.java91.lesson01;
 
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Enumeration;
import java.util.Map;
 
import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
 
public class RequestTestServlet extends HttpServlet {
     
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
         
         
        //读取表单参数
         
        request.setCharacterEncoding("utf-8");//使用什么编码读客户端发过来的二进制数据,需要与HTML编码保持一致。在TOMCAT中,如果是get方法传过来的数据,可能不起作用。
         
        String sno=request.getParameter("sno");//获取单个、指定参数的值
        System.out.println("-----request.getParameter('sno'):"+sno);
         
        String sname=request.getParameter("sname");//获取单个、指定参数的值
        System.out.println("-----request.getParameter('sname'):"+sname);
         
        String grade[]=request.getParameterValues("grade");//获取单个、指定参数的所有值。(一个参数可能有多个值的情况)
        System.out.println("-----request.getParameterValues('grade'):"+grade[0]+","+grade[1]);       
         
        Enumeration enume= request.getParameterNames();//返回一个枚举类型(Enumeration)的实例,值为表单的所有参数名
         
        Map map=request.getParameterMap();//返回一个Map实例,键-值成对的形式,键为参数名,值为参数值
        System.out.println("-----request.getParameterMap():"+map);   
         
         
         
        //其它信息
         
        String encoding=request.getCharacterEncoding();//    返回请求所用的字符编码。
        System.out.println("-----request.getCharacterEncoding(): "+encoding);           
         
        String protocol=request.getProtocol();//返回发送请求所使用的名字和版本号,如:HTTP/1.1
        System.out.println("-----request.getProtocol(): "+protocol);   
         
        String ip=request.getRemoteAddr();//返回客户端的IP地址
        System.out.println("-----request.getRemoteAddr(): "+ip);           
 
        String scheme =request.getScheme();//返回请求使用的方法的名字,如http,https,ftp等。
        System.out.println("-----request.getScheme(): "+scheme);           
         
        String serverName=request.getServerName();//返回服务器的名字
        System.out.println("-----request.getServerName(): "+serverName);       
         
        int port=request.getServerPort();//返回请求被接收的端口号。
        System.out.println("-----request.getServerPort(): "+port);
         
        String uri=request.getContextPath();//获取标示请求内容的URI的请求部分。
        System.out.println("-----request.getContextPath(): "+uri);
         
        String method=request.getMethod();//返回该请求的HTTP方法名字,如GET/POST
        System.out.println("-----request.getMethod(): "+method);       
         
        String pathInfo=request.getPathInfo();//返回发出请求的URL客户的相关额外路径信息
        System.out.println("-----request.getPathInfo(): "+pathInfo);       
         
        String queryString=request.getQueryString();//获取发出请求的URL的路径之后的查询串。
        System.out.println("-----request.getQueryString(): "+queryString);       
         
        String reURI=request.getRequestURI();//获取在HTTP请求的第一行中的,请求URL中从协议名到查询串的部分。
        System.out.println("-----request.getRequestURI(): "+reURI);       
         
        StringBuffer reURL=request.getRequestURL();//重构一个发出该请求的URL对象
        System.out.println("-----request.getRequestURL(): "+reURL);       
         
        String servletPath=request.getServletPath();//获取调用servlet的请求URL部分
        System.out.println("-----request.getServletPath(): "+servletPath);
         
        Enumeration lang=request.getHeaders("Accept-Language");//返回指定报头的所有值
         
         
         
        /*什么是cookie
          
            出于安全考虑,动态网站开发语言,无法存储和操作客户端电脑的文件/数据。避免病毒传播         
          
           HTTP提供了一种机制,指定了一个特殊的存储空间,允许服务器向客户端电脑存储少量数据
         
        到该空间 ,该空间被有效的安全控制,对客户端电脑不会造成影响。         
           
           它可以记录你的用户ID、密码、浏览过的网页、停留的时间等信息。当你再次来到该网站时,
         
        网站通过读取Cookies,得知你的相关信息,就可以做出相应的动作,如在页面显示欢迎你的标语,
         
        或者让你不用输入ID、密码就直接登录等等。
         
        */
         
        //打印所有cookies的值:只有本网站留的cookie才会被带回,其它网站不返回
         
        Cookie [] cook = request.getCookies(); //返回cookie类型的数组
        if (cook != null){
            for(int i =0; i<cook.length; i++){
                Cookie c=cook[i]; 
                System.out.println(c.getName()+":"+c.getValue());
            }
        }
         
         
//        读取cookie值
         
        String cookieName="userID";         //要读取的cookie名为userID
        String cookieValue="";                 //存放读出的cookie值
        Cookie [] cook2 = request.getCookies(); //返回cookie类型的数组
        if (cook != null){
            for(int i =0; i<cook2.length; i++){
                Cookie c=cook2[i]; 
                if (cookieName.equals(c.getName())){
                    cookieValue=c.getValue(); 
                    System.out.println("cookieValue:"+cookieValue);
                }
            }
        }
 
         
         
         
        //向客户端安装一个cookie
         
    /*    Cookie cookie = new Cookie("userID" , "1234");       
        cookie.setMaxAge(60*60*24*7); //保留7天时间。如果设为0则删除该    cookie。无设置则为当前会话       
        response.addCookie(cookie);
         
        */
         
         
         
        // session机制
         
        HttpSession session = request.getSession();//返回当前会话,如果会话不存在,则创建一个新的会话
         
        session.invalidate();
         
         
         
        /*           
 
        public ServletInputStream getInputStream() throws IOException//用ServletInputStream得到请求的二进制数据
        public BufferReader getReader() throws IOException//用BufferReader读取请求体文本           
        public RequestDispatcher getRequestDispatcher(String path)//返回指定路径上的资源的RequestDispatcher对象   
     
        public long getDateHeader(String name)//返回指定报头的值,作为长整型的日期值返回(毫秒)
        public String getHeader(String name)
        public Enumeration getHeaderNames()
        public Enumeration getHeaders(String name)//返回指定报头的所有值
        public int getIntHeader(String name)//返回指定报头的值,作为整型返回       
     
        public String getRequestedSessionId()//返回客户的essionID号
        public HttpSession getSession()//获取和当前请求相关联的session对象。如果没有则创建一个
        public HttpSession getSession(true)//获取和当前请求相关联的session对象,如果没有则创建一个
        public HttpSession getSession(false)//获取和当前请求相关联的session对象,如果没有则返回null
     
        */
         
 
        //response.setContentType("text/html;charset=utf-8");//指定发送的文件类型为HTML,指定HTML文档编码格式为UTF-8       
         
        response.setContentType("text/html");//指定发送的文件类型为HTML,指定HTML文档编码格式为UTF-8   
         
        //response.setCharacterEncoding("gbk");
         
         
        PrintWriter out = response.getWriter();       
         
        out.println("<HTML>\n"
                + "<HEAD><TITLE>Hello</TITLE></HEAD>\n"
                + "<BODY BGCOLOR=\"#FDF5E6\">\n" + "<H1>Hello java91 你好</H1>\n"
                + "</BODY></HTML>");
    }
     
     
     
    public void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
         
        doGet(request,response);
    }
     
}
韬光养晦的小生2199
2015-07-17 · TA获得超过228个赞
知道小有建树答主
回答量:338
采纳率:46%
帮助的人:98.3万
展开全部
request.getpramter("属性名");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式