打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
jsp基础知识
注释:
<%-- --%>:jsp的注释,客户端看不见
<!-- -->:客户端可以看见

scriptlet(脚本小程序)
<% %>:局部变量和编写语句 与(<jsp:scriptlet></jsp:scriptlet>)效果一样
<%! %>:全局变量,方法,类
<%= %>:输出一个变量或者一个具体内容


pageEncoding指的是JSP文件本身的编码,而contentType中的charset指的是服务器发送给客户端的内容编码

静态包含语法:(先包含后编译)
<%@ include file=""%>

动态包含语法:
<jsp:include page = ""></jsp:include>

跳转指令:(服务器端跳转)(立刻跳转)
<jsp:forward page="">
<jsp:param name = "参数名称" value = "参数内容"/>
</jsp:forward>

(客户端跳转)(执行完后再跳转)
<% response.sendRedirect("www.baidu.com"); %>
<% response.setHeader("refresh","0;URL=www.baidu.com"); %>

getParameter :得到的都是 String 类型的,获取 POST/GET 传递的参数值,客户端重定向时
getAttribute 则可以是对象,获取对象容器中的数据值,服务器端重定向时,forward 函数,获取 SESSION 的值

9个内置对象:
pageContext(PageContext):JSP的页面容器
request(HttpServletRequest):请求信息
response(HttpServletResponse):回应信息
session(HttpSession):用来保存每一个用户的信息
application(ServletContext):表示所有用户的共享信息
config(ServletConfig):服务器配置,可以取得初始化参数
out(JspWriter):页面输出
page(Object):表示从该页面中表示出来的一个Servlet实例
exception(Throwable):表示JSP页面所发送的异常,在错误页中才起作用

4中属性范围:
page(使用pageContext表示):只在一个页面中保存属性,跳转之后无效
request:只在一次请求中保存,服务器跳转后依然有效
session:在一次会话范围中,无论何种跳转都可以使用,但是新开浏览器无法使用
application:在整个服务器上保存,所有用户都可以使用


1、当一个用户连接到服务器后,服务器会自动为此session分配一个不会重复的Session Id。
2、对于每一个已连接到服务器上的用户,如果重新启动服务器,则这些用户再次发出请求实际上表示的都是一个新连接的用户,服务器会为每个用户重新分配一个新的Session Id。

在Java EE 的标准中,Web目录中的WEB-INF是必须存在的,而且此文件夹的安全性是最高的,在各个程序的开放中,基本上都将一些配置信息保存在此文件中,名字大写。

如果将一个hello.jsp的文件放在WEB-INF文件夹中,外面永远无法访问,此时只能通过映射进行操作



Web标准的结构目录:
 
 



在JSP中使用JavaBean:
使用<jsp:useBean>指令:<jsp:useBean id = "实例化对象名称" scope = "保存范围" class = "包.类名称"/>

设置属性:<jsp:setProperty/>
自动匹配:<jsp:setProperty name = "实例化对象的名称(id)" property = "*"/>
指定属性:<jsp:setProperty name = "实例化对象的名称(id)"" property = "属性名称"/>
指定参数:<jsp:setProperty name = "实例化对象的名称(id)"" property = "属性名称" param = "参数名称"/>
指定内容:<jsp:setProperty name = "实例化对象的名称(id)"" property = "属性名称" value = "内容"/>

取得属性:<jsp:getProperty/>(会自动调用JavaBean中的getter()方法)
<jsp:getProperty name = "实例化对象的名称(id)" property = "属性名称"/>

如果一个JavaBean不再使用的话,则可以直接使用4中属性范围的removeAttribute()方法进行删除



Servlet:
客户端跳转:
response.sendRedirect("url");
服务器端跳转:
RequestDispatcher rd = request.getRequestDispatcher("url");
rd.forward(request,response);

在Web中可以对application、session、request3种操作进行监听。

表达式语言:可以避免出现许多的Scriptlet代码
语法:${属性名称}


表达式语言的内置对象:
pageContext:表示javax.servlet.jsp.PageContext对象(可以取得request、session、application的实例)
pageScope:表示从page属性范围查找输出属性
requestScope:
sessionScope:
applicationScope:
param:接收传递到本页面的参数
paramValues:一组参数
header:取得一个头信息数据
headerValues:一组头信息数据
cookie:取出cookie中的数据
initParam:取得配置的初始化参数













本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
最全的Java笔试题库之选择题篇-总共234道【121~180】
Jsp9个内置对象详解
JSP隐藏对象
Java Web程序员应知应会:Jsp的内置对象与应用
JSP内置对象
技术干货Java学习路线之JSP对象
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服