JSP内置对象---request对象(用户登录页面(返回值和数组:gerParameter,getParameterValues))
创建两个jsp页面:reg.jsp 和 request.jsp
reg.jsp:
<%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%>
<%@ page import="java.text.*" %>
<%
String path = request.getContextPath();
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<h1>用户注册</h1>
<form action="request.jsp" name="loginForm" method="post">
<table>
<tr>
<td>用户名:</td>
<td><input type="text" name="username"/></td>
</tr>
<tr>
<td>爱好:</td>
<td>
<input type="checkbox" name="favorite" value="read"/>读书
<input type="checkbox" name="favorite" value="yujia"/>瑜伽
<input type="checkbox" name="favorite" value="fadai"/>发呆
</td>
</tr>
<tr>
<td>显示:</td>
<td colspan="2"><input type="submit" name="提交"/></td>
</tr>
</table>
</form>
</body>
</html>
request.jsp:
<%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"
%>
<%@ page import="java.text.*" %>
<%
String path = request.getContextPath();
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<h1>request内置对象</h1>
<%
request.setCharacterEncoding("utf-8");//解决中文乱码问题
%>
<!--用户名返回的是一个值,用gerParameter,爱好返回的是一个字符串数组,用getParameterValues -->
用户名:<%=request.getParameter("username")%>
爱好:<%
String[] favorites = request.getParameterValues("favorite");
for(int i=0;i<favorites.length;i++)
{
out.println(favorites[i]+" ");
}
%>
</body>
</html>
运行结果:


中间出了一点小差错:
(1)Tomcat工程被我closed掉了,所以启动报错,open project 即可

(2)将reg.jsp的<form action="request.jsp" name="loginForm" method="post">后面加了个</form>所以下面的代码失效,狂点提交按钮没有反应,最后是用火狐调试发现的,继续加油。
在reg.jsp中添加URL地址,查看链接
<body>
<h1>用户注册</h1>
<form action="request.jsp" name="loginForm" method="post">
<table>
<tr>
<td>用户名:</td>
<td><input type="text" name="username"/></td>
</tr>
<tr>
<td>爱好:</td>
<td>
<input type="checkbox" name="favorite" value="read"/>读书
<input type="checkbox" name="favorite" value="yujia"/>瑜伽
<input type="checkbox" name="favorite" value="fadai"/>发呆
</td>
</tr>
<tr>
<td>显示:</td>
<td colspan="2"><input type="submit" name="提交"/></td>
</tr>
</table>
</form>
<a href="request.jsp?username=张张">测试张张账号</a> <!-- 添加URL -->
</body>
当username是英文的时候正常显示,当是中文时,显示乱码,因此可以得出 request.jsp 中的脚本(如下文),无法解决URL传递中文出现的乱码问题
<%
request.setCharacterEncoding("utf-8");//解决中文乱码问题
%>
解决如下:
修改Tomcat 配置文件 server.xml,地址:D:\Program Files\eclipse\apache-tomcat-7.0.69\conf ,添加属性: URIEcoding="utf-8",重启Tomcat 服务器,才能生效

另外,因为添加了URL,URL中只有用户名,没有爱好,通过URL传递参数只有用户名,没有爱好,所以在获取爱好时报空指针异常,所以在做遍历输出爱好时要加上判断(不等于空继续执行代码,等于空则不输出),request.jsp 输出爱好部分代码变更:
爱好:<%
if(request.getParameterValues("favorite")!=null){ //加上判断
String[] favorites = request.getParameterValues("favorite");
for(int i=0;i<favorites.length;i++)
{
out.println(favorites[i]+" ");
}
}
JSP内置对象---request对象(用户登录页面(返回值和数组:gerParameter,getParameterValues))的更多相关文章
- JSP内置九个对象Request请求对象
jsp内置对象是什么呢? 例如Java语言使用一个对象之前需要实例化(也就是所说的new一个对象),创建对象这个过程有点麻烦,所以在jsp中提供了一些内置对象,用来实现很多jsp应用.在使用内置对象时 ...
- JSP内置对象——out对象/request对象
在这个科技高速发展的时代,迫使我们的脚步一刻都不能停下. 在这个for循环语句当中,我们可以直接使用jsp内置对象中的out对象来给浏览器打印输出,那么这个out对象就是一个内置对象, 在这里,我们使 ...
- JSP内置对象-request
JSP内置对象即无需声明就可以直接使用的对象实例,在实际的开发过程中,比较常用的JSP对象有request,response,session,out和application等,笔者在本文章中将简单介绍 ...
- JSP内置对象——request对象
request对象request对象封装了由客户端生成的HTTP请求的所有细节,主要包括HTTP头信息.系统信息.请求方式和请求参数等. 通过request对象提供的各种方法可以处理客户端浏览器提交的 ...
- JavaWeb——JSP内置对象request,response,重定向与转发 学习总结
什么是JSP内置对象 九大内置对象 requestJSP内置对象 request对象常用方法 request练习 responseJSP内置对象 response练习 response与request ...
- JSP内置对象--request对象
本文主要介绍JSP中的request对象 request对象的主要方法: setAttribute(String name,Object):设置名字为name的request的参数值 getAttri ...
- jsp内置对象作业1-用户登录
题目:编写一个jsp程序,实现用户登录,当用户输入的用户名或密码错误时,将页面重定向到错误提示也,并在该页面显示30秒后,自动返回到用户登录页面. 1.用户登录页面 <%@ page langu ...
- JavaWeb学习----JSP内置对象详解
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- JSP内置对象详解
jsp中内置对象:request.response.session.applecation.out.pagecontesx.config.page.exception.cookie 1.request ...
- jsp内置对象的方法
JSP内置对象的方法:out:out.print();request:request对象主要用于出列客户端请求. 常用方法: String getParameter(String name) ...
随机推荐
- MVC开发模式之Servlet+jsp+javaBean
Servlet+jsp+JavaBean组合开发是一种MVC开发模式,控制器Controller采用Servlet.模型Model采用JavaBean.视图View采用JSP. 1.Web开发的请求- ...
- 淘宝网触屏版 - 学习笔记(0 - 关于dpr)
注:本文是学习笔记,并不是教程,所以会有很多我不理解或猜测的问题,也会有不尽详实之处,望见谅. 对于pc端网页设计师来说,移动端的网页制作,我之前只是简单的加了一个 <meta name=&qu ...
- Openfire on Centos7
学习一下linux,装备 1)centos 最小安装.(找抽的节奏) 2)必备 oepnssh yum install openssh-server.x86_64 3)配置网络.打开 /etc/sys ...
- 易货beta版本项目展示报告
一.团队成员和个人博客地址 PM:刘猛 开发人员:胡亚坤,董元财 测试人员:马汉虎,赖彦谕 团队名:bestRW 团队博客地址:http://www.cnblogs.com/niceRW/ 董元财:h ...
- what is difference in (int)a,(int&)a,&a,int(&a) ?
This interview question come from a famous communication firm of china. : ) #include <iostream> ...
- Hello 2017!
- 如何将本地文件上传到github托管
Github开源代码库以及版本控制系统,可以托管各种git库,可以将个人Blog或小型项目托管到github,方便看起来又高大上的样子,哈哈哈,下面就看一下实践过程和成果吧!一:注册账号:地址: ([ ...
- Memcached的使用
为什么要使用Memcached? 1)高并发访问数据库的痛:死锁 2)磁盘IO之痛 3)读写性能完美 4)超简单的集群搭建Cluster 5)开源 6)性能最佳 7)丰富的成功案例 Memcached ...
- 编译2.4.X apache 常见错误
安装高版本的 apr apr-util ./configure prefix=/usr/local/apr ./configure prefix=/usr/local/apr-util -- ...
- WEB服务器配置
1.这是我的新服务器,还未做任何配置,系统为windows server2012 R2. 2.首先打开IE浏览器,这里弹出一个对话框,我选择的不推荐. 3.然后下载jdk,并安装 安装直接点下一步,下 ...