传智播客学习笔记5.7
DTD和SCHEMA
DTD要求:
参照文档能够看懂
复习:
1、使用ECLIPSE手工建立WEB项目目录结构,并使用TOMCAT发布:
webProject:
/src
将类编译后存放路径设置为classes目录下
/webContent
/webContent/WEB-INF
/webContent/WEB-INF/classes
/webContent/WEB-INF/lib
/webContent/WEB-INF/web.xml
/webContent/hello.jsp
tomcat目录下:
/conf/catalina/localhost/webProject.xml
docBase指向webContent目录
2、继承HttpServlet类
在写servlet,覆盖init方法时,注意只能覆盖无参的那个方法
init(ServletConfig config)是由服务器调用的
疑问:覆盖有参的init方法后(使其打印一行文字),是否还能获取初始化参数?
抽象类中不一定都是抽象方法
ServletConfig 和 ServletContext
3、如何读取配置文件:src目录下/WEB-INF目录下
src目录下:使用类加载器-----最简单
WEB-INF目录下:ServletContext的getResourceAsStream()方法,获取文件的输入流
或
使用ServletContext的getRealPath()方法获取其绝对路径,然后在具体的类中根据路径读取文件---该方法使用较多
4、在web.xml中手工配置JSP
5、错误处理页面
需要考虑用户直接访问错误处理页面的可能性(空指针异常)
6、JSP页面的9个隐含变量: 重要!!!
pageContext
request
session
application
out
response
config
page 很少使用
exception
7、<jsp:include> 与 <%@ include %>区别:
前者为动态包含,后者是静态包含
8、MVC设计模式:
m :model
v :view
c : controller
1)JavaBean,EJB组件充当模型:处理实际的业务逻辑
2)JSP充当视图,其职责为:格式化数据,并显示数据。注意:在JSP页面不要直接去调用Service,DAO或数据库。最好在JSP页面 不使用JAVA代码
3)Servlet 充当控制器,其职责为:解析客户端的请求参数;对请求参数进行简单验证;可能需要把参数封装成一个JavaBean;调 用业务方法;根据方法的执行情况,进行页面的派发
9、MODEL 1模式:没有Servlet,JSP既充当控制层又充当显示层。
10、JavaBean中属性的定义:属性看get,set方法,而不是Java类传统意义的字段名
11、使用EL表达式读取session的id: ${pageContext.session.id}
读取响应的字符编码信息:${pageContext.response.characterEncoding}----------此处需复习视频
12、如何实现客户端两个浏览器窗口共用一个Session对象:
即两个浏览器访问同一个Session对象。而客户端是通过sessionId来找到服务器端对应的Session对象。
即只要两个浏览器窗口发送相同的sessionId就可以实现。把保存sessionId的Cookie做成持久化Cookie就可以了
13、实现Session跟踪的两种实现方式:Cookie 和URL重写
url重写: response.encodeRedirectURL("目标页面");
14、自定义标签:如何定义一个自定义标签。PageContext对象的作用:可从PageContext对象中获取任何其他的隐含对象
15、filter:没有实现类,只能通过实现接口的形式实现过滤器。注意Filter配置项中的dispatcher。
应用:OPEN SESSION IN VIEW
16、listener:
最常使用的-----ServletContextListener,需要进行配置
17、文件的上传:
使用FileUpload组件
1)表单:method="post" enctype="multipart/form-data"
2) 在Servlet中,使用FileUpload组件
18、JavaWeb翻页:
PageBean对象的抽象及使用
一个半月的时间一晃而过。JAVA WEB零散的知识点已经讲解完毕,接下来便是实际项目和各种流行的开源框架的学习了。这一个半月下来,感觉自己已经进步了不少。对编程的兴趣也有增无减。当然,老师的帮助在其中起了莫大的作用。