当前位置 : 主页 > 编程语言 > java >

jsp学习笔记

来源:互联网 收集:自由互联 发布时间:2021-06-25
1.JSP标准指令: %@ 标准指令(属性 )% %@ page % %@ include % %@ taglib % 2.JSP程序代码元素: %! 变量或方法声明 % % 程序代码 % %= 表达式 % %-- jsp被服务器翻译成servlet时,变量a被翻译成成员变量
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("地址"); 重定向:地址栏改变,客户端跳转,所有代码执行完毕之后再跳转
网友评论