Servlet开发步骤二

来源:互联网 发布:南阳网络推广哪家专业 编辑:程序博客网 时间:2024/06/04 20:09




###浏览器向服务器传输数据(发送请求时),中文会出现乱码
 ##浏览器用的字符集为UTF-8,服务器用的为iso8859-1(此字符集不支持中文)
 ##处理方案:
  #第一种:适用于GET/POST
   -Servlet接收乱码String,采用iso8859-1将其还原成byte,在采用utf-8将byte编成String
                           name = new String(name.getBytes("iso8859-1"),"utf-8");
   -优点:对GET/POST都有效
   -缺点:太麻烦
  #第二种:改配置文件    只对GET有效
   -在/tomcat/conf/server.xml的第65行添加URIEncoding="UTF-8"
   -优点:简单
   -缺点:会影响tomcat内所有项目
  #第三种:只对POST有效
   -通过request设置实体内容的解码方式为utf-8:req.setCharacterEncoding("utf-8");
   -必须写在req.getParameter()之前
   -优点:简单
   -缺点:只对POST有效


 ##解决请求乱码的建议:
   -get请求避免传中文
   -post请求:req.setCharacterEncoding("utf-8");


###解决响应乱码
   -在输出响应数据时,设置返回数据类型及字符集
    -response.setContentType("text/html;charset=utf-8");


###重定向                                   重点
   -重定向的背景:用来解决2个网站之间的跳转问题
   -同一个项目内,2个独立的组件(Servlet)跳转可以采用重定向,即重定向可以保证2个组件的独立性,使他们直接没有耦合度
   -一般情况下,增加、修改、删除后,重定向到查询
   -response.sendRedirect("路径");   路径:根据当前访问路径与目标访问路径。。。最好写相对路径


###路径   浏览器访问的是服务器,因此路径都是相对于部署代码而言   
   1.静态资源(HTML/CSS/JS/IMG)     JSP不是静态资源,但可以向静态资源那样访问
     -可以直接访问
     -访问路径就是部署项目类该资源的目录
   2.动态资源(Servlet)
     -不能直接访问
     -通过网名访问,看web.xml中url-pattern中的配置
     -路径仅仅是资源的名字,并不代表存储的位置
###URL与URI的区别
  #狭义(Java)
   -URI:绝对路径
   -URL:完整路径
   -URL包含了URI
  #广义(Java/.net/php)
   -URI:资源的名称
   -URL:资源的真名
   -URI包含了URL
###Servlet路径有3种配置方式                     重点
  #不同的方式使得它处理请求的能力不同:
   -1.精确匹配(/abc)
      -只有这唯一的路径可以访问Servlet
      -该Servlet只能处理这一个请求
      -<url-pattern>/abc</url-pattern>
   -2.通配符(/*)
      -所有的路径都可以访问此Servlet
      -该Servlet可以处理所有请求
      -<url-pattern>/*</url-pattern>
   -3.后缀(*.a)                              以后工作写项目推荐用  更灵活
      -所有以.a为后缀的路径都可以访问此Servlet
      -该Servlet可以处理很多请求
      -<url-pattern>*.duang</url-pattern>
0 0
原创粉丝点击