符合j2ee标准的web-app的目录构造
WEB-INF
classes
web.xml
lib
servlet开拓过程
从httpservlet继续, 重写doget / doPost方法
支配web.xml
servlet声明周期
只有一个工具
第一次要求的时候被初始化,只一遍
初始化后先调用init方法,只一遍
每个要求,调用一遍service(service(doGet/doPost。以多线程的办法运行
不要在servlet中设计成员变量。
卸载前调用destroy方法
为什么有2个init方法
/的含义
form
form提交中action的路径可以为虚拟路径,
也可以为绝对路径,/代表http://127.0.0.1/
web.xml
web.xml中url-pattern为webapplication根路径,/代表http://127.0.0.1/Test/
乱码
场合:页面本身有中文的时候
办理办法:servlet:resp.setContentType(\"大众text/html;charset=gbk\"大众);
Jsp: <%@ page contentType=\"大众text/html;charset=gb2312\公众%>
把稳:一定要写在PrintWriter out = resp.getWriter();之前
场合:办理get办法乱码问题:
办理办法:修正server.xml (URIEncoding=\"大众GBK\"大众
场合:办理post办法提交内容的乱码
办理办法:request.setCharacterEncoding(\"大众GBK\"大众);
把稳:一定要写在存取第一个参数之前
不要调用response.setCharacterEncoding(\"大众GBK\"大众);
场合:<jsp:param name=\公众user\"大众 value=\"大众<%=s%>\"大众/>,url地址包含中文参数
办理办法:<%request.setCharacterEncoding(\"大众GBK\"大众);%>
把稳:
Cookie 和session的差异
把稳cookie有时候禁不掉
Cookie
session
存储在客户端
存储在做事器端
两种类型
有声明周期
无声明周期
两种实现办法
依赖于cookie
url重写
父路径不能访问子路径的cookie
同一个session的窗口共享一个session
范例运用:
3个月不用再上岸
购物车(http://www.china-pub.com/)
范例运用:
用户上岸
购物车也可以用session实现。·
不可靠
可靠
application (ServletContext)的观点
jsp初学者随意马虎犯的缺点
WEB-INF子目录下面不能放置html jsp 等文件
不能直接打开
jsp/servlet连接数据库时要把稳的事变
拷贝数据库驱动的jar包到apache-tomcat-6.0.14\webapps\Test\WEB-INF\lib文件夹
确认数据库已经启动
用户名、密码该当精确
<%! <%差异
如何办理ie缓请安题
TestErr.jsp / ErrPage.jsp
不太稳定,有的时候不好使:
先不写这句话:<%@page errorPage=\"大众ErrPage.jsp\公众%>
Ie弗成,firefox行
<%@include和jsp:include的差异
<%@ include file=\"大众date.jsp\"大众 %>
<jsp:include page=\"大众date.jsp\"大众 flush=\公众true\"大众/>
include编译指令是在JSP程序的转换期间就将file属性所指定的程序内容嵌入,然后再编译实行;
而include指令在转换期间是不会被编译的,只有在客户端要求期间如果被实行到才会被动态的编译载入
只天生一个class文件
多个
Include不能带参数
<jsp:include>可以
同一个request工具
不同的request工具,可以取得包含它的页面的参数,并添加了自己的参数
常用
不常用
forward和sendredirect的差异
Sendredirect
Forward
是不同的request
虽然是不同的工具,但是,可以取到上一个页面的内容
send后的语句会连续实行,除非return
forward后的语句不会连续发送给客户端
速率慢
速率快
须要到客户真个来回,可以转到任何页面,
做事器内部转换,
地址栏有变革
地址栏没有变革
可以传参数,直接写在url后面
可以传参数
/代表的是http://127.0.0.1/
<%response.sendRedirect(\"大众/test/ServletToJSP\"大众);%>
<form action=\公众/test/ServletToJSP\"大众>
<a href=\"大众/test/ServletToJSP\"大众>test</a>
/代表的是http://127.0.0.1/test
this.getServletContext().getRequestDispatcher (\公众/servlet_jsp/ServletUseJsp.jsp\"大众) .forward(req, resp);
并且只能以/开头
常用
常用
<jsp:useBean scope = page|request|session|application>
jsp内置工具: out request response session application exception