jsp学习笔记

1.JSP标准指令:
<%@ 标准指令(属性 )%>
<%@ page             %>
<%@ include          %>
<%@ taglib           %>


2.JSP程序代码元素:
<%!     变量或方法声明     %>
<%      程序代码           %>
<%=     表达式             %>


<%-- jsp被服务器翻译成servlet时,变量a被翻译成成员变量 --%>
<%! int a = 1; %>
    
<%-- jsp被服务器翻译成servlet时,变量b被翻译成局部变量 --%>
<% int b = 2; %>
  <body>
 <%-- java代码 --%>
 <% for(int i=0;i<3;i++){%>

<%  out.println(i*8); %>
  <%= (i*8) %>
  <%-- html代码 --%>
  <br>

 <% }%>


  </body>


<!--这是HTML注解-->
<%--这是JSP注解--%>
<%//这是Java注解%>
<%/*这也是Java注解*/%>


3.JSP标准动作:
<jsp:forward page="file-url"|"<%=expression%>" />
       <jsp:param name=" paramName" value="paramValue" />
</jsp:forward>


//先包含后处理
<%@ include file=“欲引入的文件 %>
//先处理后包含
<jsp:include page=“uri”>
       <jsp:param name=“参数名” value=“值”/>
</jsp:include>


<jsp:param>必须同<jsp:include>和<jsp:forward>一起使用。


4.JSP有以下九种内置对象,包括: 
page,页面对象                      java.lang.Object
request,请求对象                   javax.servlet.http.HttpServletRequest
session,会话对象                   javax.servlet.http.HttpSession
application,应用程序对象           javax.servlet.ServletContext
out,输出对象                       javax.servlet.jsp.JspWriter
response,响应对象                  javax.servlet.http.HttpServletResponse
pageContext,页面上下文对象         javax.servlet.jsp.PageContext
config,配置对象                    javax.servlet.ServletConfig
exception,异常对象                 java.lang.Throwable


存取范围从小到大依次是:page、request、session、application
page:一个页面共享数据
request:一次请求共享数据
session:一次会话共享数据
application:所有用户共享数据
application是所有用户共享的,任何用户都可以访问,而session对象则是每个用户私有的


四个域对象的生命周期
1、pageContext   jsp执行时创建pageContext jsp页面结束时pageContext销毁
2、request     客户请求服务器时创建,请求结束request销毁
3、session     客户机请求服务器时,第一次getSession时,服务器创建session,session过xx多长时间没用了(或调用了session.invalidate方法),服务器销毁session
4、servletContext(application)  web应用启动时就创建,web应用停止就销毁




什么情况下用什么域的问题


1、什么情况下用request域?如果在开发程序时,数据看完就没用了,那就应该把数据存在request域范围内。比如看新闻,新闻属于用户看完就没用的数据,这时servlet获得新闻数据,就应该存在request里面交给jsp显示。


2、什么情况下用session域?如果在开发程序时,数据看完了用户等一会儿还要用,那就应该把数据存在session域范围内.例如购物,购买的商品是用户的数据,这个数据产生之后,用户等一会儿结帐还要用,那么程序就应该把数据存在用户的session中。


3、什么情况下用application域?如果在开发程序,数据产生了,这个数据不仅等一会儿自己要用,还要给别人用,那就应该存在application域,例如web聊天室,用户的聊天数据,这个数据不仅用户等一会儿自己要看,还要给别人看。




问题:转发和重定向有什么区别?
<jsp:forward page=""/>
转发:地址栏不改变,服务器端跳转,执行到跳转语句后无条件立刻跳转-之后代码不执行
response.sendRedirect("地址");
重定向:地址栏改变,客户端跳转,所有代码执行完毕之后再跳转

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值