一、什么是http?
超文本传输协议
机制:请求与响应 request/respond
二、什么是web工程?
B(浏览器)/S(服务器)结构程序和C(GUI(图像化界面)客户端)/S(数据库服务器)结构程序有着本质的区别
程序结构以不同的目录来组织与管理,程序只需要部署(拷贝)到支持该web程序的服务器即可运行,无需安装。
三、web工程的思想
Servlet,jsp页面,html文件,工具类,javaBean,标签库,被放到不同层次结构的目录里。
在web应用程序中,使用公共前缀的URL来访问web应用程序上下文(web context)
例如:http://localhost:8080/amaker/index.jsp(其中amaker就是其中的上下文)
Web应用程序的很多行为,都是由部署描述符控制的(web.xml)
四、web应用程序的目的
组织
通过不同层次的目录结构来文件组织在一起html,jsp页面,servlet,beans,图片等
可携带
所有的兼容服务器都支持web应用程序
通过移动一个文件,重新部署到新的web服务器
分离性
1. 每一个web应用程序有他们自己的:
2. Servlet上下文(ServletContext)
3. 类加载器(Class loader)
4. 会话(Sessions)
5. URL前缀(URL prefix)
6. 目录结构(Directory structrue)
五、web工程结构
Jsp和常规web内容(html,样式表,图片等)
Servlets;放置在WEB-INF/classes目录下(匹配的包名称)
没有打包的JavaBean和工具类:放置在WEB-INF/lib目录下(匹配的包名称)
JAR文件:放置WEB-INF/lib目录下
Web.xml:放置在WEB-INF下面或子目录下
WEB-INF文件不能由客户端直接访问,可以使用RequestDispatcher转发到WEB-INF下
Web工程结构图示
六、web.xml文件
作用:控制web应用程序的行为,web工程启动时,首先读取该文件的配置信息,如果配置信息有误,web工程将启动失败
功能:
1. 声明:声明servlet,声明filter,声明listener
2. 自定义urls:servlet,filter
3. 初始化参数:servlets,jsp Pages
4. 预加载页面
5. 欢迎页面
6. 错误页面
七、web工程实例
方法一:(直接在tomcat指定目录下部署)
①
②
③
④
⑤将文件放在tomcat的指定目录
⑥启动tomcat服务器,出现如下类似信息表示启动成功
⑦浏览器输入URL访问,出现如下结果表示成功
方法二(生成warb包形式进行部署)
war包:是一个可以直接运行的web模块,通常用于网站,打成包部署到容器中。以Tomcat来说,将war包放置在其\webapps\目录下,然后启动Tomcat,这个包就会自动解压,就相当于发布了。war包是Sun提出的一种web应用程序格式,与jar类似,是很多文件的压缩包。war包中的文件按照一定目录结构来组织。根据其根目录下包含有html和jsp文件,或者包含有这两种文件的目录,另外还有WEB-INF目录。通常在WEB-INF目录下含有一个web.xml文件和一个classes目录,web.xml是这个应用的配置文件,而classes目录下则包含编译好的servlet类和jsp,或者servlet所依赖的其他类(如JavaBean)。通常这些所依赖的类也可以打包成jar包放在WEB-INF下的lib目录下。
jar包:通常是开发时要引用的通用类,打成包便于存放管理。简单来说,jar包就是别人已经写好的一些类,然后对这些类进行打包。可以将这些jar包引入到你的项目中,可以直接使用这些jar包中的类和属性,这些jar包一般放在lib目录下。
①和方法一样,建立一个简单的web工程
②进入cmd命令行,进入MyWebProject文件,输入jar --help,看见如下的提示信息
③根据提示信息将MyWebProject文件生成新的MyWebProject.war文件
④再将.war文件部署在tomcat就可以了,再在浏览器地址栏输入地址即可访问