易截截图软件、单文件、免安装、纯绿色、仅160KB

jsp中的中文参数的传递

在项目中,我们经常遇到需要在jsp页面切换中传递中文字符。这主要有两种方式。
  URL方式,例如:http://website/test1.jsp?act=add&type=苹果&param=%20D%20B
  FORM方式,例如:
  <form name=test mehtod="post">
  <input type=hidden name=text2 value="中文">
  <input type=text name=text1>
  <input type=submit value=submit>
  </form>
  我们将针对这两种情况,分别提供中文正确传递的解决方法。
  情况1:URL方式
  例如:http://website/test1.jsp?act=add&type=苹果&param=%20D%20B
  一般来说我们很少直接在URL里面把参数写成中文,如例子中的"type=苹果"这样传递。如果出现这种情况,在我们的接收参数的页面我们只需要做个简单的转换就可以了。
  代码test1.jsp:(主要部分)
  <%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
  <%
  String type = request.getParameter("type");
  String result = new String(type.getBytes("iso-8859-1"), "gb2312");
  out.println(result);
  %>
  更普遍的做法,就是对url中的中文字符进行编码,变成类似type=%20D%20B这样的字符。
  代码MyJsp1.jsp:
  <%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
  <%@ page import="java.net.*" %>
  <a href=’./MyJsp2.jsp?act=<%=URLEncoder.encode("中国人 非常好 =-")%>’>test</a>
  代码MyJsp2.jsp:
  <%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
  <%@ page import="java.net.*" %>
  String tempVal = URLDecoder.decode(request.getParameter("act"));
  out.println(new String(tempVal.getBytes("ISO-8859-1"), "gb2312"));
  情况2:FORM方式
  请注意,我们只是讨论在<form enctype="application/x-www-form-urlencoded" >这种形式的中文情况,因为在enctype="multipart/form-data"的时候通过解析出来中文也可以运用这种方法进行字符转化,所以不再重复讨论。
  <form method=post>这种情况最简单。
  代码MyJsp1.jsp:
  <%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
  <


相关文档:

JSP中的COOKIE操作


JSP中的COOKIE操作
Cookie概念:
    Cookie的格式实际上是一段纯文本信息, 由服务器随着网页一起发送到客户端, 并保存在客户端硬盘中指定的目录的. 大家都传说Cookie会造成严重的安全威胁什么的, 其实不是这么回事情. 服务器读取Cookie的时候, 只能够读取到这个服务 ......

关于网站首页名称安全性问题 JSP 允许目录浏览

在不允许目录浏览的情况下     浏览器会先找到首页(默认为index.html  /index.jsp...)
否则出错
因此 若首页被恶意更改   网站崩溃
解决方法:
更改默认启动页面:$tomcat/conf/web.xml最后位置
<welcome-file-list>
<welcome-file>index.html</welcome-file> ......

JSP STRUTS ECLIPSE 编码问题

jsp的pageEncoding="UTF-8",struts的encoding="UTF-8",eclipse 的工作区间的编码方式是GBK,但是在struts的action中获得的jsp传来的中文中有乱码,使用new String(sysgkForm.getContent().getBytes("UTF-8"),"GBK")转码也不行,最后发现问题出在了jsp里面。加上contentType="text/html; charset=GBK" 就好了。
pageEncodi ......

JSP 隐式对象

·pageContext:提供对页面属性的访问。
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
pageContext.setAttribute("basePath",basePath);
%>
使用:
${pageScope}
 
·reques ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号