zoukankan      html  css  js  c++  java
  • 6 Servlet——Service()方法逻辑流程与Response对象与处理乱码

    Service()方法逻辑流程

    • 设置请求编码格式(处理中文乱码)
      • 方法一:使用String类转码:xx = new String(xx.getBytes("iso8859-1"),"utf-8");其中xx表示已经获得的请求参数,也就是说,对于需要转码的参数,单独使用此方法进行转码。
      • 方法二:对get和post方法获得的数据配置
        •  步骤一:req.setCharacterEncoding("utf-8");
        •  步骤二:在tomcat的目录下的conf目录中修改server.xml文件:在Connector标签属性中增加useBodyEncodingForURI="true"
        • 注意:如果只做步骤一,post方式的数据将得到转码,但get方式的数据不会。
    • 设置响应编码格式(使用setContentType())
    • 获取请求数据(Request对象)
    • 处理请求数据
      • 数据库操作(MVC思想)
        • 浏览器->servlet->service->dao->数据库
    • 响应处理结果(Response对象)

    Response对象

    Response对象要作何响应呢?通常如下:

    设置响应头

    • setHeader(key,val);//在响应头中添加信息,同键会覆盖。
    • addHeader(key,val);//在响应头中添加信息,不会覆盖。
    • 特殊地,有几个响应头可以用自己的方法来设置:
      • setContentType(值);//设置Content-type,如:“text/html;charset=utf-8”告诉浏览器响应的类型和编码

    设置响应状态码

    • 示例:sendError(404,"Page Not Found");

    设置响应实体

    • resp.getWriter().write("<b>具体的响应内容</b>");

    示例代码

    模拟用户登录,从网页获取用户输入的账号和密码,与数据库中的数据进行匹配,响应登录成功或登录失败页面。

    完整代码下载:点击下载

    其中,mysql数据库部分:

    库名为db1,表名为servlet练习相关表

  • 相关阅读:
    bzoj1653 [Usaco2006 Feb]Backward Digit Sums
    python爬虫之真实世界中的网页解析
    python爬虫之网页解析
    python列表操作方法
    python多行代码简化
    python操作文件
    python数据类型之pandas—DataFrame
    python数据类型之字典(二)
    python数据类型之字典(一)
    Selenium模拟浏览器抓取淘宝美食信息
  • 原文地址:https://www.cnblogs.com/Scorpicat/p/12344313.html
Copyright © 2011-2022 走看看