JSP所需要掌握的部分

  1 JSP基本语法 
  2 
  3 指令        <%@ 指令%>
  4 JSP指令是JSP的引擎
  5 主要的两种指令是page和include(taglib)
  6 <%@ page import="java.util.*" %>
  7 
  8 声明        <%! 声明%>
  9 <%! int i = 0; %> 
 10 
 11 可以直接使用在<% @ page %>中被包含进来的已经声明的变量和方法,不需要对它们重新进行声明。
 12 
 13 
 14 表达式      <%= 表达式%>
 15 <font color="blue"><%= map.size() %></font> 
 16 
 17 
 18 代码段/脚本段     <% 代码段%>
 19 <% 
 20 String name = null; 
 21 if (request.getParameter("name") == null) { 
 22 %> 
 23 
 24 注释         <%-- 注释--%>
 25 
 26 ---------------------------
 27 JSP的动作
 28 jsp:include:在页面被请求的时候引入一个文件。 
 29 jsp:useBean:寻找或者实例化一个JavaBean。 
 30 jsp:setProperty:设置JavaBean的属性。 
 31 jsp:getProperty:输出某个JavaBean的属性。 
 32 jsp:forward:把请求转到一个新的页面。 
 33 jsp:plugin:根据浏览器类型为Java插件生成OBJECT或EMBED标记。
 34 
 35 
 36 <jsp:include page="relative URL" flush="true" /> 
 37 <jsp:include page=" /page1.html" flush="true"/> 
 38 或者
 39 <%@ include file="/header.jsp"%>
 40 
 41 
 42 jsp:useBean动作 
 43 在JSP文件被转jsp:useBean动作用来装载一个将在JSP页面中使用的JavaBean。这个功能非常有用,因
 44 
 45 为它使得我们既可以发挥Java组件重用的优势,同时也避免了损失JSP区别于Servlet的方便性。
 46 此动作用来生成一个bean组件,并设定它的id号及使用范围
 47 
 48 <jsp:useBean  id=”beanName”  scope="page|request|session|
 49 
 50 application|"class="package.class”  type="package.class"  beanName="{package.class|<
 51 
 52 %=expression%>}  type="package.class"">action  for  bean  </jsp:useBean>
 53 
 54 ---------------------------------上午
 55 五种基本语法
 56 指令、声明、表达式、代码段/脚本段、注释
 57 
 58 JSP执行原理:
 59 webapps:发布的项目在这里
 60 work:真正运行的工作环境
 61 
 62 JSP就是Servlet(从work下查看one_jsp.java文件)
 63 
 64 表达式相当于out.write(xxx)
 65 
 66 以后要是JSP有问题的,就到底层去查看servlet源码
 67 
 68 -----JSP指令
 69 page指令:只需了解 language、import、pageEncoding
 70 
 71 include指令:
 72 <%@ include file="one.html"%>
 73 //只能引入静态文件
 74 在jsp转换为Servlet的时候引入文件
 75 
 76 
 77 ----JSP动作
 78 <jsp:include page="" flash="true"/>
 79 在页面请求的时候动态的加载进去
 80 //注:动态比静态好
 81 
 82 jsp:useBean    jsp1.0-1.2  
 83 
 84 
 85 <jsp:forward page="one.jsp">
 86 //服务端跳转
 87 
 88 -----JavaBean
 89 是一个比较复杂的概念,但是在jsp中使用较为简单
 90 
 91 简单javabean:一个类 需要提供:
 92 1、所有相关属性  私有化
 93 2、提供属性的 set get 方法
 94 3、提供无参的构造函数
 95 4、实现序列化接口(************了解)//适用于网络应用
 96 
 97 
 98 EJB: 3种 bean对象 
 99 
100 使用JavaBean:
101 
102 <jsp:useBean id="test" scope="page" class="xxx"/>
103 
104 //解释
105 //Object o=session.getAttribute("test");
106 //if(o==null){
107 //Student test=Class.forName("xxx").newInstance();
108 //session.setAttribute("test",test);
109 //}
110 
111 注意:这就是为什么在控制台中syso("构造函数名")
112 request每次都显示,而session只显示一次,由以上代码可看出
113 
114 
115 
116 
117 <jsp:getProperty name="test" property="sname"/>
118 //在页面中显示属性name的值
119 
120 <jsp:setProperty name="test" property="age" value="30"/>
121 //value与param 只能有一个存在
122 
123 //第二种方式,在useBean里设置setProperty
124 
125 
126 
127 jsp:四种范围
128 page:页面范围  当前页面    比request还要窄   
129 request: request
130 session: session
131 application: servletContext
132 
133 
134 -----------九大内置对象
135 <%
136 1、pageContext  //page范围  Servlet没有此范围,JSP独有
137 pageContext.setAttribute("name","page");
138 
139 2、request:相当于Servlet中的request  用法一样     
140 request.setAttribute("name","request");
141 //Servlet中为request.setAttribute(name,value)
142 
143 3、session:相当于Servlet中的session
144 session.setAttribute("name","session");
145 //Servlet中为request.getsession().setAttribute(name,value)
146 
147 4、application:相当于Servlet中的servletContext
148 application.setAttribute("name","application");
149 //Servlet中为request.getsession().getServletContext().setAttribute(name,value)
150 
151 5、response:相当于Servlet中的ServletResponse
152 response.sendRedirect();
153 //Servlet中为response.sendRedirect("/项目名/路径名");
154 
155 6、out:相当于Servlet中的response.getWriter();
156 out.write("0000000");
157 //Servlet中为PrintWriter out = response.getWriter();   out.println("<HTML>");
158 
159 7、config:相当于Servlet中的servletConfig
160 //out.write(config.getServletName())
161 
162 8、page:JSP网页本身
163 //使用方式为pageContext.setAttribute("name","page");
164 //即pageContext是page的对象
165 
166 9、exception:针对错误网页,未捕捉的例外
167 //在JSP指令中使用,即 isErrorPage="true|false" 
168 
169 %>
170 
171 
172 
173 
174 
175 
176 
177 
178 
179 
180 ---------------------------------备注
181 等EL表达式上完了,接下来两个星期小组做项目
182 要需求文档、阶段设计、说明书等
183 等下周EL结束!!!

 

posted @ 2016-11-25 12:42  奋斗的少年WH  阅读(268)  评论(0编辑  收藏  举报