第 2 章 让jsp说hello
2.1. 另一个简单jsp
上一篇举的例子很单纯,无论谁向服务器发送请求,服务器都只计算当前系统时间,然后把这个时间制作成http响应发还给浏览器。
可惜这种单向的响应没办法实现复杂的业务,比如像这样:

客户在这个页面输入自己的名字,然后提交:

服务器会对你说:“你好啊,XXX。”

返回刚才的页面,再输入另外一个名字:

提交以后就变成这样:

呵呵,神奇吧,服务器知道你叫什么名字,而且还会向你问好。
虽然咱们都知道这只是从请求中获得了用户名,加上欢迎信息再发送回浏览器,但最终用户会感到更亲切。下面就让我们来看一下如何从请求获得参数吧。
首先用户输入页面会是这样的:
<form action="test.jsp">
username : <input type="text" name="username" />
<br />
<input type="submit">
</form>
这里是一个简单的form,里面只有一个名叫username的文本框,点击提交之后它的值就会提交到后台服务器上的test.jsp。那么在jsp里,咱们如何得到用户输入的username呢?
Hello <%=request.getParameter("username")%>
或者
Hello <%out.print(request.getParameter("username"));%>
只要是<%%>中间的部分就会被当成java代码执行,咱们就来看看jsp里是通过什么途径获得请求中的参数吧。
首先是request,翻译过来就是请求,它被称作jsp九大默认对象之一,与http请求相关的操作都是通过request实现的,你完全可以把它看作是浏览器发送过来的http请求。
请求里就包含了我们需要获得的参数,你想要知道username的值吗?好的,只要调用getParameter("username")就可以获得了,你交给request一个参数名,它会返回对应的参数值,因为http协议的限制,获得的参数值都是字符串,不过在参数不存在的时候,也会返回null,所以一定要记住在使用之前判断是否为null,免得频繁出现NullPointerException。
第 2 章 让jsp说hello的更多相关文章
- 第二章 初识JSP
第二章 初识JSP 一.JSP简述 1.是JSP JSP是指在HTML中嵌入Java脚本语言.全称(Java Server Pages) 当用户通过浏览器访问Web应用时,使用JSP容器对请求的J ...
- Head First Servlets & JSP 学习笔记 第七章 —— 作为JSP
<%@ …… %> 这是指令 <%@ page ……import="java.util.Date" %> 这是page指令,import是page指令的一个 ...
- 第四章 深入JSP技术
JSP简介 JSP工作原理 JSP是一种servlet,但先部署后编译. JSP生命周期 运行时只会有一个实例,同servlet. JSP语法 JSP元素和模板数据 模板数据就是JSP中的HTML代码 ...
- 第一章使用JSP/Server技术开发新闻发布系统第一章动态网页开发基础
一:为什么需要动态网页 由于静态网页的内容是固定的,不能提供个性化和定制化得服务,使用动态网页可真正地与用户实现互动. 二:什么是动态网页 ①:动态网页是指在服务器端运行的,使用程序语言设 ...
- 关于jsp的总结
第一章:jsp技术不仅是开发web应用的先进技术,而且是进一步学习相关技术的基础.jsp引擎是支持jsp程序的web容器,负责运行jsp,并将有关结果发送到客户端.目前流行的jsp引擎之一是tomca ...
- 02.JSP的3个编译指令
本章介绍JSP的3个编译指令,在JSP中常见的编译指令有如下3个: 1.page:用于针对当前页面的指令. 2.include:用于指定包含另一个页面. ...
- JSP语法
第3章 JSP语法 [本章专家知识导学] JSP是建立在Java语言基础上的一种Web程序设计语言,具有自己特有的用法和指令.本章首先介绍JSP页面的程序结构,然后讲述JSP程序中经常用到基本的面向 ...
- JAVA记录-JSP内容
JSP(JavaServer Pages )是什么? JavaServer Pages(JSP)是一种支持动态内容开发的网页技术它可以帮助开发人员通过利用特殊的JSP标签,其中大部分以<%开始并 ...
- JSP应用开发 -------- 电纸书(未完待续)
http://www.educity.cn/jiaocheng/j9415.html JSP程序员常用的技术 第1章 JSP及其相关技术导航 [本章专家知识导学] JSP是一种编程语言,也是一种动 ...
随机推荐
- 序列化 Serializable
1.序列化是干什么的? 简单说就是为了保存在内存中的各种对象的状态(也就是实例变量,不是方法),并且可以把保存的对象状态再读出来.虽然你可以用你自己的各种各样的方法来保存object states,但 ...
- 数值的三种表示--C语言
在C语言中,数值常数可以是3中形式: (1)在数值前面加0表示的是8进制数据: (2)在数字前面加0x表示的是16进制数: (3)在数值前面什么也不加,表示的是10进制数值. 目前C语言 ...
- Redis 的 5 个常见使用场景
2015-07-22 23:31:46 本文由 伯乐在线 - 刘晓鹏 翻译,黄利民 校稿.未经许可,禁止转载!英文出处:Joe Engel.欢迎加入翻译组. 在这篇文章中,我们将阐述 Redis 最常 ...
- shell-bash学习03 别名、日期、函数
别名 使用alias 创建 alias new_command='command sequence' 保存 echo 'alias cmd="command seq"' >& ...
- 分享Kali Linux 2016.2第45周镜像
分享Kali Linux 2016.2第45周镜像Kali Linux官方于11月6日发布Kali Linux 2016.2的第45周的镜像.此次镜像维持了以往11个镜像文件的规模,包括32位.64位 ...
- Gym 100814C Connecting Graph 并查集+LCA
Description standard input/output Statements Alex is known to be very clever, but Walter does not be ...
- ASP.NET MVC中使用highcharts 生成简单的折线图
直接上步骤: 生成一个options,选项包含了一些基本的配置,如标题,坐标刻度,serial等: 配置X轴显示的Category数据,为一个数组: 配置Y轴显示的数据,也为一个数据: 用 ...
- shell实现https登录
服务端提供了两个api: 一个是用于用户认证,因为要传输密钥,所以用了https方式 如何在服务端配置https请见另外一个博文 https://192.168.1.190:8443/api/aut ...
- C#解决从含身份证号码的Excel表格导入数据库的问题
用C#做从Excel表导入SQL数据库时发现从EXCEL导入的身份证号码会变成科学表示方法. 解决这个问题是比较容易的,首先,打开电子表格,选中“身份证号码”一列,右键选择“设置单元格格式”,进入单元 ...
- ural 1072. Routing
1072. Routing Time limit: 1.0 secondMemory limit: 64 MB There is a TCP/IP net of several computers. ...