1、<%@ page isELIgnored=”false”%>的作用
表示当前JSP页面是否忽略EL表达式,默认值为false,表示不忽略(即支持)。
如果设定为真,那么JSP中的表达式被当成字符串处理。比如下面这个表达式<p>${2000 % 20}</p>
在isELIgnored="true"
时输出为${2000 % 20}
,而isELIgnored="false"
时输出为100
。
2、在jsp页面禁用session
用<%@ page session="false"%>
指不能在本页使用session。也就是在本页面禁用session。request.getSession(false)
是指如果存在session就返回session,如果不存在就返回一个null值;request.getSession(true)
是指如果存在session就返回session,如果不存在就创建一个新的session。
3、EL表达式的使用
能用点(.)的都能用中括号([])
[a]和[‘a’]第一个是变量,第二个是一个单独的字符
EL语法:${}
+只能用于运算,不能用于字符串的连接
${"1"+"2" }//不会报错,并且会输出3
${"a"+"b" }//会报错
div是除的意思
El表达式中点(.)和中括号的区别
4、什么是Scriptlet?
在JSP中,Scriptlet称为脚本小程序,所有嵌套在HTML代码中的Java程序都必须使用Scriptlet标记出来。
5、Bean的基本要素:和使用useBean标准动作
1.必须要有一个不带参数的构造器,在jsp元素创建Bean时会调用空构造器
2.Bean类应该没有任何公共实例变量,也就是说,不允许直接访问实例变量,通过setter/getter方法读写量的值
3.Bean类应该在一个包里,不要使用裸体类
<jsp:useBean id="user" class="demo.TestBean" scope="page" type="java.lang.Object">
//属性和参数名字相同,可以直接用*指定
<jsp:setProperty name=”user” property=”*” />
<jsp:setProperty name=”user” property=”first” param=”firstName” />
jsp:useBean>
如果bean属性和request参数的名字不同,那么你就必须得指定property和param ,如果他们同名,那么你就只需要指明property就行了.
如查参数值为空(或未初始化),对应的Bean属性不被设定.
6、JsessionID简要说明
JsessionID简要说明
7、java和javax的区别
java和javax的区别
8、java自定义标签,需要使用继承继承TagSupport类import avax.servlet.jsp.tagext.TagSupport;
9、动作标记include的作用是将JSP文件,HTML网页文件或其他文本文件动态嵌入到当前的JSP网页里
10、${pageContext.session.new}服务器报错
${pageContext.session.new}服务器报错
11、META-INF和WEB-INF
META-INF和WEB-INF
12、关于Servlet和JSP中配置的初始参数的获取与设置
关于Servlet和JSP中配置的初始参数的获取与设置
13、<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"
这里pageEncoding是当前页面的编码格式,contentType中的charset设置的是告诉浏览器用什么格式去解析当前的jsp页面
14、javax.servlet.jsp.tagext
包提供创建自定义标签所必须的类和接口
15、在初始化的过程中,Servlet容器使用( FilterConfig)将信息传递给过滤器
16、为了获得用户提交的表单参数,可以从哪一个接口中得到ServletRequest,ServletConfig 可以获得Servlet的初始化参数
17、302表示资源移动的状态码,重定向的状态码,发现301也是重定向的状态码
重定向状态码301与302详解
18、javax.Servlet的包中,属于类的是GenericServlet
19、实现下列哪一种接口的对象,并不需要在web.xml文件内进行额外的设定,Servlet容器就能够回应该对象加入HTTP会话所发生的事件HttpSessionBindingListener
public interface HttpSessionBindingListener
这个对象被加入到 HTTP 的 session 中,执行这个接口会通告有没有什么对象被绑定到这个 HTTP session 中或被从这个 HTTP session 中取消绑定。
20、${param.hobbies}
如果hobbies有多个值,但是只会输出第一个,${paramValues.hobbies[0]}
也是输出第一个,${paramValues[hobbies][0]}
这种写法是不对的,不会有输出,需要在hobbies上加上单引号才可以,这样表示一个属性,而不加的话,表示一个变量
21、编写Servlet 的doPost方法时,需要抛出异常为`ServletException, IOException
22、RequestDispatcher`是一个接口,含有两个方法,include和forward,ServletRequest接口的getRequestDispatcher()方法返回RequestDispatcher的对象
RequestDispatcher详解