java web(jsp):
jsp能做servlet中的全部事情:不能。
servlet能做jsp的全部事情:能。
jsp的概念:java server page.java 服务器页。
本质:httpservlet的另一种表达。
生命周期:翻译(第1次请求时.java)–>编译(.class)–>实例化
–>初始化–>服务–>销毁。
jsp的优点:容易动态产生网页。容易用html改造。
jsp 9个内置对象的用法:
流转对象:out,request,response.
作用域对象:application>session>request>pageContext
其他对象:exception config page
内置对象 pageContext和page的区别?
pageContext是作用域对象。
pageContext.setAttribute("key","value",PageContext.Session); pageContext.findAttribute("key");//从小到大
page=this,只能获得jsp的内存地址及类名,很少用。
jsp指令,脚本,声明,表达式的区别.
指令:补充sessoin–是否创建session,默认是。
errorPage–错误页面地址。 isErrorPage–是否错误页面。
脚本
声明:放全局的变量定义和方法定义
<%! int x = 0; void show() { ... } %>
表达式:<%=表达式 %>,被翻译成静态内容。
相当于
<% out.print(表达式) %>
jsp的三种注释方式及区别:
<!-- --> html注解(显式注解) <%-- --%> jsp注解(隐式注解) // /*/ java代码注解。
jsp的常用指令:page指令(静态导入),include指令 。
jsp动作
<useBean> : <useBean id="s1" class="com.sec.entity.Student" scope="session" /> 创建对象并与s1为key放到session中。 <setProperty> : <setProperty name="s1" property="age" value="18"/> <getProperty>: <getProperty name="s1" property="age"/> 相当于<%= ((Student)session.getAttribute("s1")).getAge() %>. <include> :<include file="2.jsp"/>
动态导入2.jsp。
<forward>:<jsp:forward page="3.jsp"> <param name="a" value="1"/> </forward>
<param>的用法
是否有<jsp:redirect>这个标签:没有!
静态包含和动态包含的区别?
静态包含只产生1个java文件。
动态包含2产生2个java文件。可以包含非jsp的内容。