第一节:集成开发环境
集成开放环境MyEclipse 集成开发环境 不用配任何的环境变量 myEclipse 是eclipse的插件。IBM的产品。收费的。试用期大概是26天。
workspace 工作空间window --showView -----console 调出控制台右键
new -- java Project, java工程创建完了自动把jDK拿过来了。集成环境开发(myEclipse)所有的开发环境都不用配置。但在开发环境里面配。
Project Name:这个是你的myEclipse这个工作区里面,你创建这个项目的名字。
J2EE Specification level 规范的版本号
Source folder:scr 源文件
Web root folder: web app 根目录,
Context root URL:/jd (这个可以改)那我们部署到服务器的项目的名字是这个。(选中项目--右键属性 输入web改)点完成
弹窗:你编译器的版本是5.0,当前工作区是6.0,你想改吗 NO另一个弹窗:你创建的项目是web项目,但你用的布局方式是java的布局方式。NO
字体调整:preferences---general搜font重新配置
服务器步骤:打开Tomcat server -7.0x-JDK- add -找到我们自己的jdk路径。这个过程其实是配置javaHome然后再点tomcat 7.0 配置凯特利纳home 然后一定enable就配置完成了。然后配置完了小猫 里面没有项目,添加项目到小猫里面,点add --选服务器-(就是把java项目部署到camcat服务器)
- Browse--浏览 redeploy重新部署 remove删除项目然后启动Tomcat服务器。
打开浏览器 项目名淘宝welcome完成鼠标停在web.xml上按住control 出现下面的线则验证包名类名写入正确。
myEclipse XML Editor 打开。preferences--输入 file as 文件关联 选择然后default点ok项目管理小箭头--top level Elements--Working Sets--configure working sets也可以用项目管理tomcat服务器通过你点击路径搜索找到这个路径所关联的servlet完整的类名,拿到类名它通过反射机制给它创建出来,它调用的是这个类的无参数构造方法。
别从console那里直接关闭服务器,那里关闭服务器是强制关闭。可以从上面关闭
右键属性 搜web 可以改。Design 设计 Source源码。类名写错还是写对,鼠标放上看可以检验
快捷键 Control + shift + o 导入包
alt + / 提示control + shift +右箭头选中一个单词
ctrl + / 增加或者去除注释
alt +/ 代码的提示或者补充功能。
快捷键可以修改 window--pref--keys,将默认绑定键修改。
ctrl + shift + o 提示类中所有的方法并且可以过滤
control+shift+o导入包,去掉不用的包
ctrl+shift+T 查找类tab自动缩进shift+tab
取消缩进ctrl+1 纠正错误(把光标停止到错误上面)
ctrl +alt + 向下箭头(快速复制一行)// 这个配置文件我们写web.xml 这个配置文件起到什么作用呢?
servlet作用:是用来将用户的请求路径和底层服务器端的小java程序绑定在一起。
//tomcat有人写,sun公司的接口也有,我们只负责写一个类实现这个接口和实现这个方法,把这个类和路径写到配置文件中
servlet:两个英语单词的合并,Serv表示服务器端,let表示小程序。
是javaEE的规范之一
servlet是什么东西呢?
servlet是sun公司制定的一套接口,这套接口是给谁制定的呢?
给java程序员和Web服务器制定的。
关于servlet对象的生命周期。 1.什么是生命周期? 生命周期表示一个java对象从最初创建到最终被销毁,经历的过程。 2.Servlet对象的生命周期是谁来管理的?程序员可以干涉吗? servlet对象的生命周期,javaweb程序员是无权干涉的,包括该servlet对象的相关方法的调用,javaweb程序员 也是无权干涉的 Servlet对象从最初的创建,方法的调用,以及最后对象的销毁,整个过程,是由WEB容器来管理的。(即小猫来管理) Web Container管理Servlet对象的生命周期。 3.“默认情况下”,Servlet对象在Web服务器启动阶段不会被实例化,【若希望在web服务器启动阶段实例化Servlet对象,需要进行特殊的设置】。 4.描述Servlet对象的生命周期 1)用户在浏览器地址栏上输入URL:http://localhot:8080/prj-servlet-03/testLifeCycle 2)web容器截取请求路径:/prj-servlet-03/textLifeCycle 3)web容器在容器上下文中找请求路径/prj-servlet-03/testLifeCycle对应的Servlet对象 4)若没有找到对应的Servlet对象 4.1)通过web.xml文件相关的配置信息,得倒请求路径/textLifeCycle对应的Servlet完整类名 4.2)通过反射机制,调用Servlet类的无参构造方法完成Servlet对象的实例化。 4.3)web容器调用Servlet对象的init方法完成初始化操作。 4.4)web容器调用Servlet对象的service方法提供 5)若找到对应的Servlet对象 5.1)web容器直接调用Servlet对象的service方法提供服务 6.web容器关闭的时候/webapp重新部署的时候/该sevlet对象长时间没有用户再次访问的时候,web容器将该Servlet对象 销毁,在销毁该对象之前,web容器会调用Servlet对象的destroy方法,完成销毁之前的准备 5.总结: 5.1 servlet类的构造方法只执行一次 5.2 servlet对象的init方法只执行一次 5.3 servlet对象的service方法,只要用户请求一次,则执行一次 5.4 Servlet对象的destroy方法只执行一次 6.注意: init方法执行的时候,Servlet对象已经创建好了 destroy方法执行的时候,Servlet对象还没有被销毁,即将被销毁 7.Servlet对象是单例,但是不符合单例模式,只能称为伪单例,真单例的构造方法是私有化的,Tomcat服务器是支持多线程的。 所以Servlet对象在单实例多线程环境下运行的,那么Servlet对象若有实例变量,并且实例变量涉及到修改操作,那么这个Servlet对象一定会 存在线程安全问题,不建议在Servlet对象中使用实例变量,尽量使用局部变量。 8.若希望在web服务器启动阶段实例化Servlet对象,需要在web.xml文件中进行相关的配置:testLifeCyclecom.bjpowernode.javaweb.servlet.ServletLifeCycle1testLifeCycle/textLifeCycleswelcomeServletcom.bjpowernode.javaweb.servlet.welcome0welcomeServlet/welcome注意:1自然数越小优先级越高。 操作myEclipse的快捷键 Ctrl+shift+t 打开输入要找的对象,查看api ctrl + 0 找到对应的方法 -------------------ServletConfig接口--------------------- 研究javax.servlet.ServletConfig接口 1.javax.servlet.ServletConfig 是接口 2. Apache Tomcat服务器实现了Servlet规范,Tomcat服务器专门写了一个ServletConfig接口的实现类。 实现类的完整类名:org.apache.catalina.core.StandarWrapperFacade[作为了解,主要是思想] 3.javaweb程序员在编程的时候,一直面向S