一、scriptlet标签:

通过scriptlet标签我们可以可以在jsp理嵌入java代码;

第一种:<%! %>    可以在里面定义全局变量、方法、类;

第二种:<% %>    可以在里面定义局部变量、编写语句;

第三种:<%= %>    在里面输出一个变量或者一个具体内容;

 

二、jsp包含指令:

<%@ include file="..." %>   静态包含   先包含,后编译处理

<jsp:include page="...">    动态包含   先编译处理,后包含

以后开发用动态包含

 

三、jsp跳转指令:

<jsp:forward>

  <jsp:param value="" name="" />

</jsp:forward>

服务器内部跳转,可带参数;

例如:

 1 <jsp:forward page="target.jsp">
 2     <jsp:param value="java" name="username"/>
 3     <jsp:param value="123456" name="password"/>
 4 </jsp:forward>
 5 
 6 target.jsp页面:
 7 <body>
 8   服务器内部跳转后的页面<br>
 9   usename: <%= request.getParameter("username")%>
10   password: <%= request.getParameter("password")%>
11 </body>

  还有一种跳转方式:
   <% response.sendRedirect("target.jsp")%>
<jsp:forward /> 和 response.sendRedirect()的区别:
  • <jsp:forward />:访问第一个界面,第一个界面调转到第二个界面,第二个界面把内容传送到客户端,客户端浏览器url显示的仍然是第一个界面的名字;跳转过程是发生在服务器端的;客户端感知不到;客户端发起的一个请求,这个请求无声无息的被转到另外一个界面进行处理;这两个界面拿到的request还是同样的、原来的那个request;拿到的request对象是同一个对象。因为就发起了一次请求;
  • response.sendRedirect:如果说访问一个界面,这个界面respone.sendRedirect到另外一个界面的话,执行过程是:你访问我这个界面的话,请你重新访问另外一个界面;他会告诉客户端请你在url里面输入另外一个界面的地址,另外一个界面会将内容反馈给你,和客户端有一个来回往复的过程;使用的是不同的request;

 

四、jsp九大内置对象及四大作用域概述:

pageContext:request,response:session:application:config:out:page:exception
jsp四大作用域:
1.page:只在一个页面中保存数据,javax.servlet.jsp.PageContext(抽象类)
 1 <body>
 2 <%
 3     // 设置两个page范围的数据 key-> value
 4     pageContext.setAttribute("name","page王二小");
 5     pageContext.setAttribute("age",12);
 6 %>
 7 <%
 8     // 取值
 9     String name=(String)pageContext.getAttribute("name");
10     int age=(Integer)pageContext.getAttribute("age");
11 %>
12 <font>姓名:<%=name %></font>
13 <font>年龄:<%=age %></font>
14 </body>
View Code

2、request范围,只在一个请求中保存数据,javax.servlet.http.HttpServletRequest(接口)

 1 <body>
 2 <%
 3     // 设置两个request范围的数据 key-> value
 4     request.setAttribute("name","request王二小");
 5     request.setAttribute("age",12);
 6 %>
 7 <jsp:forward page="requestTarget.jsp"></jsp:forward>
 8 </body>
 9 
10 requestTarget.jsp页面:
11 <body>
12 <%
13     // 取值
14     String name=(String)request.getAttribute("name");
15     int age=(Integer)request.getAttribute("age");
16     // 获取头信息
17     Enumeration enu=request.getHeaderNames();
18     while(enu.hasMoreElements()){
19         String headerName=(String)enu.nextElement();
20         String headerValue=request.getHeader(headerName);
21 %>
22     <h4><%=headerName %>&nbsp;<%=headerValue %></h4>
23 <%
24     }
25 %>
26 <font>姓名:<%=name %></font>
27 <font>年龄:<%=age %></font>
28 </body>
View Code

相关文章:

  • 2021-09-22
  • 2021-09-09
  • 2021-09-16
  • 2021-11-29
  • 2021-10-05
  • 2021-12-05
  • 2021-11-14
  • 2021-12-09
猜你喜欢
  • 2021-11-23
  • 2021-07-03
  • 2021-06-05
  • 2021-11-29
  • 2021-08-01
  • 2022-12-23
  • 2021-11-08
相关资源
相似解决方案