JSP
JSP是什么
jsp本质其实就是一个servlet,jsp文件可以直接写html标签,不用通过out.println方法把html、js都放到字符串中了,效率更高,而且可以把java代码放在<%%>中。用户可以直接访问jsp文件,所以放在web application根目录下,用户访问时,服务器首先把jsp文件生成一个servlet,编译后放在work\Catalina\localhost\test\org\apache\jsp目录下,实际访问的是这个servlet,所以说jsp就是一个servlet。
基本语法
1、Directive(编译指令),常用的有<%@page import="java.util.List" contentType="text/html;charset=gbk" errorPage="error.jsp"%> 在error.jsp文件的page指令中可以设置属性isErrorPage=“true”
<%@include file="title.jsp" %>,编译期间把其他文件的内容直接包含进来
2、Action(运行指令),常用的有<jsp:include /> <jsp:param /> <jsp:useBean /> <jsp:forward page="xxx.jsp" />,注意通过<jsp:forward />指令的跳转是服务器端直接完成的,然后把响应返回给客户端,对于客户端来说根本不知道发生了跳转,url地址仍然是跳转前的url,而通过response.sendRedirect方法的跳转,服务器会把跳转响应返回给客户端,客户端再重新请求跳转的url,然后得到新地址的响应。
3、注释,<%-- --%> <%// %> <% /* */ %>
4、声明 <%%>中的java代码会放在service方法中,所以可以声明局部变量或直接写java代码,但不能声明方法,<%! %>中声明的变量是servlet的成员变量,也可以声明方法
5、<%= %>可以放表达式,会直接输出其值
常用的内置对象
out(javax.servlet.jsp.JspWriter)
out.println();
out.newLine();
out.print();
request(javax.servlet.http.HttpServletRequest)
request.getParameter();
request.getSession();
response(javax.servlet.http.HttpServletResponse)
response.setContentType();
response.encodeURL();
response.sendRedirect();
session(javax.servlet.http.HttpSession)
application(javax.servlet.ServletContext)
exception
浙公网安备 33010602011771号