1.本次练习写一个简单的注册页面

准备工作:首先搭建好服务器tomcat环境,使用的编译软件是eclipse

2.在eclipse中创建一个web工程

3.在webContent文件夹下创建一个register.jsp文件chua

主要代码:在<body>的里面

    <form action="show.jsp"method="post">
用户名:<input type="text" name="uname"/><br/>
密码:<input type="password" name="upwd"/><br/>
年龄:<input type="text" name="uage"/><br/>
爱好:
<input type="checkbox" name="uhobbies" value = "唱跳"/>唱跳
<input type="checkbox" name="uhobbies" value = "Rap"/>Rap
<input type="checkbox" name="uhobbies" value = "篮球"/>篮球<br/>
<input type="submit" value="注册">
</form>

4.在webContent文件夹下创建一个show.jsp文件

主要代码:还是在<body>标签里面

    <%
//设置编码
request.setCharacterEncoding("utf-8");
String name = request.getParameter("uname");
String pwd = request.getParameter("upwd");
int age = Integer.parseInt(request.getParameter("uage"));
String[] hobbies = request.getParameterValues("uhobbies"); %>
注册成功,信息如下:<br/>
姓名:<%=name%><br/>
密码:<%=pwd%><br/>
年龄:<%=age%><br/>
爱好:<br/> <%
if(hobbies!=null){
for(String hobby:hobbies){
out.print(hobby+"&nbsp;&nbsp;");
}
} %>

5.上机效果:

总结:request:请求对象;存储“客户端向服务端发送的请求信息”

1.request对象的常见方法:
  String getParameter(String name) :根据请求的字段名key (input标签的name属性值) ,返回字段值value (input标签的value属性值)
  String[] getParameterValues(String name): 根据请求的字段名key ,返回多个字段值value (checkbox)
  void setCharacterEncoding("编码格式utf-8") :设置post方式的请求编码 (tomcat7以前默认iso-8859-1,tomcat8以后改为了utf-8)
  getRequestDispatcher("b.jsp").forward(request,response) ; 请求转发 的方式跳转页面 A - > B
  ServletContext getServerContext():获取项目的ServletContext对象
2.jsp的执行流程:
  第一次访问时:JSP转变成Java再编译成class
  第二次访问时:直接访问class文件,如果服务端代码修改了,将会再访问时重新翻译、编译
3.常见错误:

  200:一切正常
  300/301:页面重定向(跳转)
  404:资源不存在
  403:权限不足(例如访问a目录,但是a目录设置的是不可见的话会报403)
  500:服务器内部错误(代码有误)
4.编码问题:推荐使用"utf-8"

javaweb学习之路(1)request的更多相关文章

  1. JavaWeb学习篇之----容器Request详解

    前篇说到了Response容器对象,这篇我们就来看一下Request容器对象,之前也说过了,这个两个容器对象是相对应的,每次用户请求服务器的时候web容器就会给创建这对容器对象,他们是共存亡的,当然R ...

  2. javaweb学习之路(2)response

    写一个简单的登录页面 1.创建一个login.jsp文件 主要内容: <form action="check.jsp" method="post"> ...

  3. javaweb学习之路(3)Cookie

    1.Cookies的原理 1)首先浏览器向服务器发出请求. 2)服务器就会根据需要生成一个Cookie对象,并且把数据保存在该对象内. 3)然后把该Cookie对象放在响应头,一并发送回浏览器. 4) ...

  4. Webwork 学习之路【06】Action 调用

    一路走来,终于要开始 webwork 核心业务类的总结,webwork 通过对客户端传递的 web 参数重新包装,进行执行业务 Action 类,并反馈执行结果,本篇源码分析对应下图 WebWork ...

  5. Webwork 学习之路【03】核心类 ServletDispatcher 的初始化

    1. Webwork 与 Xwork 搭建环境需要的的jar 为:webwork-core-1.0.jar,xwork-1.0.jar,搭建webwork 需要xwork 的jar呢?原因是这样的,W ...

  6. JavaWeb学习总结-01 JavaWeb开发入门

    一 基本概念 1 Web开发的相关知识 Web,表示网页的意思,它用于表示Internet主机上供外界访问的资源. Internet上供外界访问的Web资源分为: 静态web资源(如html 页面): ...

  7. JavaWeb学习总结-04 Servlet 学习和使用

    一 Servlet 1 Servlet概念 Servlet时运行在服务器端的Java程序. Servlet的框架核心是 javax.servlet.Servlet 接口. 所有自定义的Servlet都 ...

  8. JavaWeb学习总结(一)——JavaWeb开发入门

    http://www.cnblogs.com/xdp-gacl/p/3729033.html 只为成功找方法,不为失败找借口! JavaWeb学习总结(一)--JavaWeb开发入门 一.基本概念 1 ...

  9. javaweb学习总结(六)——Servlet开发(二)

    一.ServletConfig讲解 1.1.配置Servlet初始化参数 在Servlet的配置文件web.xml中,可以使用一个或多个<init-param>标签为servlet配置一些 ...

随机推荐

  1. self不明白什么意思,我来帮助你了解self的含义

    先看下面这段代码 # 用函数模仿类def dog(name, gender): def jiao(dog1): print('%s汪汪叫' % dog1["name"]) def ...

  2. 【转】动态规划之最长公共子序列(LCS)

    [原文链接]最长公共子序列(Longest Common Subsequence,简称 LCS)是一道非常经典的面试题目,因为它的解法是典型的二维动态规划,大部分比较困难的字符串问题都和这个问题一个套 ...

  3. 树莓派4b 上手三板斧

    树莓派4b 上手三板斧 1.无屏幕和网线连接准备 windows / mac 电脑下载安装Notepad++ 新建文件并保存为ssh(该文件为空文件) 新建文件wpa_supplicant.conf ...

  4. [go]包和工程管理

    一.系统环境变量 GOROOT 指定go的安装目录,win是在 C\Go\,Linux在 /usr/local/go下,如果不是默认的目录,则需要指定 GOROOT环境变量,否则不需要 GOPATH ...

  5. http与web

    在看<图解http>的时候,忽然有一个想法冒出来. web与http是什么关系? http服务器与web服务器有区别?为什么用以搞混了? web的定义:它是一种基于超文本和HTTP的.全球 ...

  6. Java5-7作业总结(第八次作业)19201421-吴志越

    前言:关于此次三次作业,相比于前3次难度着实高了一个档次,第五次作业,虽然对于工具类没有很高.但是第一题的复杂程度很高,对于正则表达式有很高的要求,需要使用很多正则表达式的方法,而且不能有一处错误,对 ...

  7. 最大比例 公约数复用 【蓝桥真题】 (c++)

    最大比例 X星球的某个大奖赛设了M级奖励.每个级别的奖金是一个正整数.并且,相邻的两个级别间的比例是个固定值.也就是说:所有级别的奖金数构成了一个等比数列.比如:16,24,36,54其等比值为:3/ ...

  8. linux 二级目录结构

    Linux系统里面目录的顶点都是根 /etc /etc/passwd : Linux用户登陆的文件 /etc/group : 存放Linux用户组的文件 /etc/shadow :存放用户密码的文件 ...

  9. 【Linux常见命令】paste命令

    paste - merge lines of files paste 命令用于合并文件的列. paste 指令会把每个文件以列对列的方式,一列列地加以合并. 语法: paste [OPTION]... ...

  10. 更新mac系统到10.15后,virtual box虚拟机无法打开

    更新mac系统到10.15后,virtual box虚拟机无法打开: 尝试解决方案1:下载最新版的virtual box重新安装后,启动成功. 虽然很乌龙,但是下次再也不随便升级系统了,太坑爹了