二 Jsp
1)Jsp和Servlet很相似,最终编译成的.java文件也含有类似于init,destroy,service的方法,这在项目部署后的work文件夹下可以看到;
2)Jsp的语法是<%%>,中间可以写java代码,也可以写字符串,字符串要带等号,如<%="哈哈"%>;
3)Jsp的注释语法是<%-- --%>,使用Jsp注释的内容不会出现在.java文件中,而使用html注释会出现在.java文件中。所以为了缓解Jsp引擎的压力,推荐在jsp文件中使用jsp注释。
4)Jsp声明,<%%>中声明的变量会变成_jspService方法中的局部变量,而且没法在<%%>中声明方法。而用<%!%>特有的jsp声明定义的变量和方法会成为类的成员变量和成员方法。如在这里定义:
在翻译后的.java文件是这样的:
5)Jsp更改后不用重启服务器,服务器会自动加载。
6)Jsp九大内置对象(在<%%>中可以直接使用的对象)
1.pageContext Jsp最重要的内置对象,由它可以直接取得其他八个内置对象。
2.request 和Servlet的request用法一致
3.response 和Servlet的response用法一致
4.application 和Servlet的ServletContext用法一致
5.out JspWriter类型的对象,用于想页面输出内容
6.session 和Servlet的session用法一致
7.exception 只有isErrorPage属性为true的页面才能使用的对象
8.config 和ServletConfig用法一致
9.page 不常用,代表当前页面
7)Jsp的内置标签
7.1)用于JavaBean的标签
<jsp:useBean id="" class="" scope=""/> 将类型为class的名为id值的JavaBean对象绑定到Scope域中
<jsp:setProperty name="" property="" value=""/> 设置名为name值的JavaBean对象的name属性
<jsp:getProperty name="" property="" /> 取出属性值
还可以通过传参的方式设置属性:
如果传参的属性名和JavaBean对象的属性对应,还可以使用省略方式:
7.2)非JavaBean的标签
7.2.1)转发标签和传参标签
index.jsp的内容
welcome.jsp的内容
运行结果:
7.2.2)包含标签
将welcome.jsp页面包含在index.jsp中:
这种包含方式属于动态包含,会生成两个.java文件;而下面这种属于静态包含,只生成一个.java文件;