一,javaweb服务器配置使用
1.1 web服务器基础知识
web就是网页的意思
互联网能够访问的web资源,分为两类静态(每次访问内容都一样)和动态(由程序动态生成的)
静态web资源:html,css,js,图片,音频,视频
动态web资源开发技术:asp,php,jsp(sun给出java体系机构,web层提供servlet和jsp技术)
web服务器如何通信的?
基于B/S结构通信,客户使用Browser浏览器,去访问Server服务器,网站放在服务器上面
BS交互模型,必须基于request-response模型(请求响应模型),请求和响应要成对出现,必须先有请求,后有响应
C/S应用软件访问模型,如QQ 需要安装客户端,不依赖请求响应模型,可以直接由服务器向客户端发送消息
1.2javaweb常用服务器--tomcat使用
常用web服务器
web logic,原属于BEA,被oracle收购,收费
web sphere,属于IBM,收费
tomcat, 由apache提供维护,开源免费
jboss,由jboss公司提供,免费
nginx反向代理web服务器,apache服务器,jetty,resin
1.5web服务器访问流程分析
第一步:用户在浏览器输入网址,如www.baidu.com
第二步:进行本地域名解析 c:\windows\system32\drivers\etc\hosts 文件
或者第三步:访问网络上dns域名解析服务器
获取域名对应的ip地址
第四步:将请求发送给指定ip默认端口80服务器
返回请求资源
1.6javaweb网站标准目录结构
网站由静态web资源和动态web资源组成
java应用标准网站目录,Root根目录,根目录直接存放静态web资源,在根目录可以有WEB-INF目录,存放动态web资源
WEB-INF浏览器不可以直接访问,在服务器内部进行访问
三,servlet编程入门
3.1servlet是javaEE开发分层中web层核心开发技术
命名灵感来自applet(小应用程序),servlet命名小服务器段程序
sun公司提供最初的标准servlet接口
servlet是运行在web服务器的小型java程序,servlet通常通过http接收和响应来自web客户端的请求
继承httpServlet
3.2servlet生命周期
init(ServletConfig config)初始化方法 ----javaee开发不建议在构造方法中写入大量对象初始化代码,而把代码写到初始化方法中
serveice(ServletRequest req, ServletResponse res)服务器执行逻辑 ----每次请求都会执行service
destroy() 对象销毁方法,释放资源
1)默认情况下,servlet在服务器启动时,不会创建对象和初始化
2)第一次访问servlet,创建对象初始化init,执行服务
3)以后每次请求,只调用service服务方法(servlet是单例的) ----每次请求服务器开启一个新的线程,调用service
4)在正常关闭服务器时,调用destroy
3.4 tomcat启动时,创建servlet对象进行初始化
web.xml中配置
<servlet>
<servlet-name></servlet-name>
<servlet-class></servlet-class>
<!-- 0-9代表优先级,0优先级最高-->
<load-on-startup>0</load-on-startup>
</servlet>
3.5 路径问题
客户端请求路径以 / 开始,必须写工程名
服务段内部路径 / 包含工程名
3.6 servletConfig使用
servletConfig 就是servlet配置对象,每个servlet都有自己config对象,在servlet初始化init时 传入到servlet对象中
3.7servletContext使用
每个web应用项目中,都对应一个唯一ServletContext对象,代表整个web应用
三个应用场景:
1.读取全局初始化参数(功能类似ServletConfig, 区别config参数只能自己servlet读取,context参数 所有servlet都可以读取)
2.保存全局唯一数据 例如:每个用户实际登陆,每个网页访问次数
3.读取资源文件
src下所有java程序,编译后,默认保存在WEB-INF/classes下