jsp本质上就是一个servlet,只是tomcat会将其翻译成servlet,servlet本质上是一个类,那么jsp也是一个类。jsp中各种标签都会被tomcat翻译成各种基本的java代码
如果一个jsp页面中定义了变量,在另外一个地方可以直接获取,例如
<%
String name = "zhangsan";
%>
<%= name %>
但是大家请注意了,现在的开发都不在jsp中写java代码,以上是java代码,现在就是需要用到jsp的标签。什么叫jsp的标签呢?下面举例子
1.$标签(el标签)
<%
pageContext.setAttribute("name", "lisi");
%>
${name }
输出结果: lisi
在jsp中想直接用el($)标签需要把变量放到四大域中,这时候才能直接获取,这是el标签的规则。 上面那段java代码只是把变量放到域中,然后就直接可以获取。四大域也就是
page , request , session , application。page域只能在本jsp页面中获取,request域可以在一次请求中得到,如果用的是请求转发就行,重定向就不能用request中。session表示一次会话,
一次会话就是打开一个浏览器,就会创建一个session。application就是放在服务器上面的域,只要服务器开着,这个域任何地方都能获取。