HTML显示乱码和文件上传的操作

来源:互联网 发布:python ip 加 1 编辑:程序博客网 时间:2024/05/17 06:33

  呃,先道个歉很久没有更新博客了,因为这一段时间一直在忙SMART TV。虽然算不上是大成,但也算是呕心之作,看到游戏完成后,还是挺有成就感的,不管人家三星要不要吧。。。
  等有时间我会再写一些关于SMART TV的文章,有兴趣的可以期待下啊,哈哈~~~
  行了,下面上传下昨天的教学笔记。。。

HTML与Servlet中各种显示乱码的解决方法简介

  首先应该了解数据传输的流程。

  HTML页面中的数据发送request到服务器,服务器进行解析并通过指定要求进行response,HTML页面解析response实体信息,并进行相应的显示等操作。期间request需要利用字符编码集,服务器的解析需要字符编码集,response和HTML解析也都是如此,如果其中某一步所用编码字符集不统一,就很有可能会出现乱码。总而言之,出现乱码的原因就是因为字符编码集不统一。下面讲解几种常见的调试方法,为了让字符编码集统一,我将以UTF-8的字符编码集作为同一标准。

  HTML文档设置相应消息头字段中,有一个属性为 http-equiv设置头字段,charset=XXX,这条语句是用来设置发送request的时候所采用的字符编码集;在服务器中进行解码的时候可以利用setCharacterEncoding()来设置对request的解码方式。这里要注意流对象的pint()方法在不设置字符编码集的时候会采用ISO8859-1来进行URL解码,所以一定要进行修改.应答消息头也可以直接设置charset=XXX,这样浏览器进行解码的时候就会按照指定编码字符集来进行解码了。

文件的上传操作

  可以通过表单元素input中type=file的文件上传来进行操作。

  利用form提交request的时候会提供实体信息,所以可以将数据转换来达到上传文件的作用,需要注意的只有几个地方,下面来简要介绍下。

  首先需要修改的地方是form中的一条属性,为enctype,设置为multipar/form-data。如果不修改这条属性在request的信息当中只能得到需要上传的文件的路径和按钮的name而无法得到需要上传的文件的内容;还有如何得到服务器中存储文件的路径,可以通过ServletContext对象的getRealPath()中得到服务器的真正路径参数为你所需要存储的文件名称。


原创粉丝点击