//学习笔记, 可能有些地方理解有误, 会表达不清楚
v512_servlet+jsp
01 在修改完Cookie后,一定要加上response.addCookie(c);
Cookie中只能保存字母或数字信息;
02 req.getSession()与req.getSession(boolean create)
无参数的 == 有参数的参数为true时
有参数的,当参数为true时,如果没有Session对象就创建一个; 如果参数为false,则返回null;
03 会话的消失: 浏览器的关闭; 主动关闭; 会话超时; (????浏览器关闭)
04 如何应用Eclipse来开发Servlet????????
05 Tomcat的work目录保存了所有的jsp转换成Servlet的所有源文件和编译后的文件;
06 charset = gbk与pageEncoding = gbk效果一样;
07 <%@ include file="..." %>: 可以包含一个.html/.jsp等文件进来;
08 指令方式包含: <%@ include file="logn.jsp" %> 把它的内容包含进来;
动作方式包含: <jsp:include page="logn.jsp" > 调用方法实现;
<jsp:forward page="logn.jsp" > 等价于 requuest.getRequestDipacher().forward(request,response)
09 对象名:application ---> javax.servlet.ServletContext(上下文)
10 被引入的.class文件不能没有包??? 如:count2.jsp
11 错误代码:
401验证出错(如密码), 404不存在的资源, 405提交方式不允许, 505服务器端代码错误;
12 javabena需要定义一个无参的方法, 且必须要有包, 不能使用裸体类;
13 <jsp:useBena setProperty name="..." property="..." /> 默认接受form提交过来的参数;
JSP EL
01. JSP EL运算符:
可以用div替换/, 用mod替换%
and &&, or ||, not !
02. <%@ page isELIgnored="true" %> :指定当前页面不使用jsp el(也可以在web.xml中配置)
03. ${10 + 10 }相当于 <%= 10+10 %>, 可使用/$或'$'输出: 字符$
04. ${username} :输出作用域最小的username的属性值;
Tag Lib
01. (1) 编写一个class继承TagSupport, 重写doStartTag(),doEndTag()方法,
JspWriter out = pageContext.getOut();得到打印对象;
EVAL_BODY_INCLUDE :表示标记中的java代码会被执行;
EVAL_PAGE :表示标记结束后面的代码仍然会执行;
SKIP_PAGE :表示标记结束后面的代码不会被执行;
(2) 还需要创建一个*.tld文件,
保存在WEB-INF目录下;
需要一致的属性: <uri>, <name>, <tag-class>
<short-name>表示推荐使用的前缀名;
<body-content>可以包含别的代码,如jsp
(3) 在jsp页面的开头要: <%@ taglib prefix="util" uri="http://www.wenhui.com" %>
prefix为自己定义的一个前缀名, uri要与tld文件中的一致;
(4) 继承BodyTagSupport, 可以得到里面的html代码;