什么是Jsp
1.什么是jsp
java server page(java 服务器端页面技术),是 sun 公司制订的一种服务器端动态页面生成技术的规范。
因为直接使用 servlet 生成页面,如果页面比较复杂,则代码过于繁琐,并且难以维护,所以对于比较复杂的页面,使用 jsp 来编写,更容易编写和维护。
2.如何写一个 jsp 文件
写一个以.jsp 为后缀的文件,然后,在该文件当中,添加 html 和 java 代码。编写完成之后,不需要编译,当客户端请求访问某个.jsp 文件,则服务器会自动将.jsp 文件转换成一个.java 文件(该.java 文件其实是一个 servlet)。
3.jsp 文件的组成 **
a. html(包括 css、javascript)
直接写在.jsp 文件里即可
b. java 代码
第一种形式: java 代码片断
语法: <% java 代码 %>
第二种形式: jsp 表达式
语法: <%= java 表达式%>
c. 指令
所谓指令,就是告诉 jsp 引擎(容器当中,负责将.jsp 文件转换成.java 文件,并在运行时,为 jsp 提供一些 辅助支持的模块),在将.jsp 文件转换成.java 文件时,做一些额外的处理。
语法: <%@ 指令名 属性名=属性值%>
page 指令
##常用指令共 3 个,今天了解并掌握 page 指令##
> import 属性:
用于导包。
比如<%@page import="java.util.*,java.text.*"%>
> contentType 属性:
等价于 response.setContentType();
> pageEncoding 属性:
告诉 jsp 引擎,.jsp 文件保存时的编码。
d. 隐含对象
所谓隐含对象,指的是在.jsp 文件当中,不用声明和创建该对象,就可以直接使用的对象。原因是,.jsp 文件对应的.java 文件当中,已经自动生成了该对象的代码。
out
request
response
4.jsp 文件如何转换成.java 文件 *
>html 转换为 jsp
放到 service()方法里,使用 out.write()输出。
> java 代码片断
放到 service()方法里,照搬
*************************************
1.转发
1) 什么是转发?
一个 web 组件(jsp/servlet)将未完成的处理转交给另一个 web 组件继续处理。转发的各组件会共享 request 和 response 对象。
2) 如何转发?
step1
先绑订数据
request.setAttribute(String name,Object obj);
跟绑订相关的另外两个方法
//如果 name 对应的值不存在,返回 null。
Object request.getAttribute(String name);
request.removeAttribute(String name);
step2
获得转发器,转发
RequestDispatcher rd = request.getRequestDispatcher(String uri);
rd.forward(request,response);
或
RequestDispatcher rd =request.getRequestDispatcher(String uri).rd.forward(request,response);
3) 编程中要注意的问题
转发之前,不能够执行 out.close 戒者 out.flush。
转发之前,会将 response 中缓存的数据先清空。
4) 转发的特点
a. 转发的目的地只能是同一个应用内部的某个组件
b. 转发之后,浏览器地址栏的地址没有变化
c. 转发所涉及的各个组件可以共享同一个 request,response 对象
什么是Jsp的更多相关文章
- myeclipse学习总结一(在MyEclipse中设置生成jsp页面时默认编码为utf-8编码)
1.每次我们在MyEclispe中创建Jsp页面,生成的Jsp页面的默认编码是"ISO-8859-1".在这种情况下,当我们在页面中编写的内容存在中文的时候,就无法进行保存.如下图 ...
- jsp前端实现分页代码
前端需要订一page类包装,其参数为 private Integer pageSize=10; //每页记录条数=10 private Integer totalCount; //总记录条数 priv ...
- jsp中出现onclick函数提示Cannot return from outside a function or method
在使用Myeclipse10部署完项目后,原先不出错的项目,会有红色的叉叉,JSP页面会提示onclick函数错误 Cannot return from outside a function or m ...
- jsp页面无法识别el表达式的解决方案
今天在写一个springmvc的小demo时,碰到一个问题,在jsp页面中书写为${user.username}的表达式语言,在浏览器页面中仍然显示为${user.username},说明jsp根本不 ...
- 浅谈JSP中include指令与include动作标识的区别
JSP中主要包含三大指令,分别是page,include,taglib.本篇主要提及include指令. include指令使用格式:<%@ include file="文件的绝对路径 ...
- 浅谈JSP注释
HTML注释 JSP文件是由HTML尿急和嵌入的Java程序片段组成的,所以在HTML中的注释同样可以在JSP文件中使用.注释格式:<!--注释内容--> <!-- 欢迎提示信息! ...
- JSP 标准标签库(JSTL)
JSP 标准标签库(JSTL) JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能. JSTL支持通用的.结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签, ...
- Nginx服务器之Nginx与tomcat结合访问jsp
本文使用linux centos系统 本文概述: JSP是一种动态网页技术标准.使用的方式是在HTML文件中插入程序段和JSP标记,而形成JSP文件.使用JSP开发WEB应用可以跨平台开发.但jsp需 ...
- 基于jsp+servlet图书管理系统之后台万能模板
前奏: 刚开始接触博客园写博客,就是写写平时学的基础知识,慢慢发现大神写的博客思路很清晰,知识很丰富,非常又价值,反思自己写的,顿时感觉非常low,有相当长一段时间没有分享自己的知识.于是静下心来钻研 ...
- JSP页面跳转的几种实现方法
使用href超链接标记 客户端跳转 使用JavaScript 客户端跳转 提交表单 客户端跳转 使用response ...
随机推荐
- 解决MySQL 在 Java 检索遇到timestamp空值时报异常的问题
使用JDBC检索MySQL数据库,如果遇到timestamp字段的值为空,那么会立即报出异常: ### Error querying database. Cause: java.sql.SQLExc ...
- .net大型分布式电子商务架构说明(转载来自<头条>)
背景 构建具备高可用,高扩展性,高性能,能承载高并发,大流量的分布式电子商务平台,支持用户,订单,采购,物流,配送,财务等多个项目的协作,便于后续运营报表,分析,便于运维及监控. 架构演变 基础框架剥 ...
- RPM安装gcc gcc-c++扩展
rpm -ivh cpp--.el5.i386.rpm 回车 rpm -ivh kernel-headers--.el5.i386.rpm 回车 rpm -ivh glibc-headers-.i38 ...
- Java判断PC端还是移动端
package com.*.*.*; import java.io.IOException;import java.util.regex.Matcher;import java.util.regex. ...
- 通过httplib2 探索的学习的最佳方式
在工作中需要对一个视频点播两百次,使其成为热门视频,才能对其p2p情况进行测试.虽然可以手动点播两百次,但是利用python发送200次post请求,能减少很多的工作量.该发送请求的方法用到了http ...
- sql server显示某一列中有重复值的行
sql server查询一张表 ,显示某一列中有重复值的行,可以这样写: Select * From 表名 where 列名 in(Select 列名 From Table group by 列名 h ...
- PHP7编译错误:php编译undefined reference to `libiconv 错误
ext/gd/libgd/.libs/gdkanji.o: In function `do_convert’: /root/php-5.2.12/ext/gd/libgd/gdkanji.c:350: ...
- 1-10w之间的整数中有几个完全平方数
#include "stdio.h" #include<math.h> void main() { ,x,y; printf("1-10w之间的整数中有以下几 ...
- c语言_头文件_stdlib
简介 stdlib 头文件即standard library标准库头文件 stdlib 头文件里包含了C.C++语言的最常用的系统函数 该文件包含了C语言标准库函数的定义 stdlib.h里面定义了五 ...
- 《C++ Primer》之面向对象编程(三)
继承情况下的类作用域 在继承情况下,派生类的作用域嵌套在基类作用域中.如果不能在派生类作用域中确定名字,就在外围基类作用域中查找该名字的定义.正是这种类作用域的层次嵌套使我们能够直接访问基类的成员,就 ...