创建两个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]+"&nbsp;&nbsp;");
  }
  %>
</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]+"&nbsp;&nbsp;");
}
}

JSP内置对象---request对象(用户登录页面(返回值和数组:gerParameter,getParameterValues))的更多相关文章

  1. JSP内置九个对象Request请求对象

    jsp内置对象是什么呢? 例如Java语言使用一个对象之前需要实例化(也就是所说的new一个对象),创建对象这个过程有点麻烦,所以在jsp中提供了一些内置对象,用来实现很多jsp应用.在使用内置对象时 ...

  2. JSP内置对象——out对象/request对象

    在这个科技高速发展的时代,迫使我们的脚步一刻都不能停下. 在这个for循环语句当中,我们可以直接使用jsp内置对象中的out对象来给浏览器打印输出,那么这个out对象就是一个内置对象, 在这里,我们使 ...

  3. JSP内置对象-request

    JSP内置对象即无需声明就可以直接使用的对象实例,在实际的开发过程中,比较常用的JSP对象有request,response,session,out和application等,笔者在本文章中将简单介绍 ...

  4. JSP内置对象——request对象

    request对象request对象封装了由客户端生成的HTTP请求的所有细节,主要包括HTTP头信息.系统信息.请求方式和请求参数等. 通过request对象提供的各种方法可以处理客户端浏览器提交的 ...

  5. JavaWeb——JSP内置对象request,response,重定向与转发 学习总结

    什么是JSP内置对象 九大内置对象 requestJSP内置对象 request对象常用方法 request练习 responseJSP内置对象 response练习 response与request ...

  6. JSP内置对象--request对象

    本文主要介绍JSP中的request对象 request对象的主要方法: setAttribute(String name,Object):设置名字为name的request的参数值 getAttri ...

  7. jsp内置对象作业1-用户登录

    题目:编写一个jsp程序,实现用户登录,当用户输入的用户名或密码错误时,将页面重定向到错误提示也,并在该页面显示30秒后,自动返回到用户登录页面. 1.用户登录页面 <%@ page langu ...

  8. JavaWeb学习----JSP内置对象详解

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  9. JSP内置对象详解

    jsp中内置对象:request.response.session.applecation.out.pagecontesx.config.page.exception.cookie 1.request ...

  10. jsp内置对象的方法

    JSP内置对象的方法:out:out.print();request:request对象主要用于出列客户端请求.   常用方法:    String getParameter(String name) ...

随机推荐

  1. Java GUI编程-(项目代码_扫雷_弹钢琴)

    --扫雷 package com;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionLis ...

  2. Ubuntu 16.04安装搜狗输入法

    转载: http://www.it610.com/article/5319575.htm 打开firefox浏览器,输入网址www.baidu.com,打开后搜索搜狗拼音 linux进入到搜狗拼音li ...

  3. Fair Scheduler 队列设置经验总结

    Fair Scheduler 队列设置经验总结 由于公司的hadoop集群的计算资源不是很充足,需要开启yarn资源队列的资源抢占.在使用过程中,才明白资源抢占的一些特点.在这里总结一下. 只有一个队 ...

  4. LINQ之路 8: 解释查询(Interpreted Queries)

    LINQ提供了两个平行的架构:针对本地对象集合的本地查询(local queries),以及针对远程数据源的解释查询(Interpreted queries). 在讨论LINQ to SQL等具体技术 ...

  5. Node聊天程序实例02:chat_server.js

    作者:vousiu 出处:http://www.cnblogs.com/vousiu 本实例参考自Mike Cantelon等人的<Node.js in Action>一书. chat_s ...

  6. SCOI2009粉刷匠

    Description windy有 N 条木板需要被粉刷. 每条木板被分为 M 个格子. 每个格子要被刷成红色或蓝色. windy每次粉刷,只能选择一条木板上一段连续的格子,然后涂上一种颜色. 每个 ...

  7. BWA MEM算法

    现在BWA大家基本上只用其mem算法了,无论是二代还是三代比对到参考基因组上,BWA应用得最多的就是在重测序方面. Aligning sequence reads, clone sequences a ...

  8. Oracle ORA-12154: TNS: 无法解析指定的连接标识符”错误

    主要原因: 1.监听服务没有起起来.windows平台个一如下操作:开始---程序---管理工具---服务,打开服务面板,启动oraclehome92TNSlistener服务. 2.database ...

  9. Cognos10安装注意事项

    cognos10用db2做content management注意事项 1. 建议用UTF-8格式字符2. 建议pagesize用8K或者8K以上3. 新建数据库缓冲池pagesize和以上1.2设置 ...

  10. asp.net用户自定义控件传参

    asp.net自定义控件传参的方式有2中: ①字段的方式 在自定义控件的.ascx.cs中定义一个字段,然后在调用页面的page_load方法里面传入参数. 如  在自定义控件中设置字段   publ ...