首页 > 代码库 > JSP基本语法(五)

JSP基本语法(五)

 

:1.解决中文乱码问题

<%@ page language="java" pageEncoding="GBK"%>

JSP页面文本框输入带有中文的信息,此时再获取输入的内容,发现中文显示不正确,乱码;

处理:在对应的jsp页面中加入下面代码

<body>
<%
  request.setCharacterEncoding("GBK");//设置统一编码
  String str = request.getParameter("info");//接收表单提交的参数
%>
// 输出信息
<h2><%=str %></h2>
</body>

 

2.接收请求参数

getParameter():像文本框(text)、单选按钮(radio)、密码框(password)、隐藏域(hidden)等使用,因为这些控件的参数名称一般只有一个,不会重复;

getParameterValues():如复选框(checkbox),参数的名称重复,是一组数组形式,若使用了getParameter()接收,则只会接收第一个选中的值;

  使用二者在接收参数值时,有可能是null值,在使用要进行是否为空的判断,否则有可能出现NUllPointerException异常!

例如:复选框

String str[] = request.getParameterValues("inst");

if(str != null){

  for(int i = 0; i < str.length; i++){

      <%=str[i]%>

  } 

}

参数的来源:一是来至表单提交过来的;

                二是地址重写的方式带过来的:

技术分享

例如:https://localhost:8080/xx/aaa.do?name=mxz&password=123

get提交:提交的内容会在地址栏后面显示出来;https://localhost:8080/xx/aaa.do?name=mxz&password=123

post提交:提交的内容不会显示在地址栏中;https://localhost:8080/xx/aaa.do?

 getParameterNames():返回所有请求参数的名称,返回值类型Enumration,再使用hasMoreElements()方法判断是否有内容,及使用nextElement()方法取出内容;

技术分享

技术分享

 

复选框:**主要的目的是区分不同的参数接收操作;

通过getParameterNames获取所有的参数名称后,再获取对应的内容,则必须是需要getParameter()或者getParameterValues(),凡是以**开头的,都以数组形式接收

 技术分享

 3.显示全部的头信息

request.getHeaderNames():获取头信息的名称;     request.getHeader():获取每一个头信息的内容;

技术分享

 

4.服务器端想获取客户端的信息时,可使用request内置对象获取信息,如:

String method = request.getMethod(); // 获取提交方式

String ip = request.getRemoteAddr();//获取客户的的ip地址

String path = request.getServletPath();//获取访问路径

String contextoPath = request.getContextPath();//获取应用程序上下文

 

JSP基本语法(五)