Servlet
1. Servlet概述
javax.servlet.Servlet,是一个接口
Servlet 是运行在 Web 服务器(如:Tomcat)上的 Java 小应用程序,由Tomcat去调用,没有main函数。
每个 Servlet 都要在 web.xml 中进行配置。Servlet 就是一个 Java 类,运行在 Web 容器中,接收并响应用户的请求并且对用户的请求做出响应。通常通过 HTTP 协议实现。
1.1. Servlet的生命周期方法
1.2. Servlet 的运行过程
每个 Servlet 在 Web 容器中只有一个对象,一个类只有一个对象,称为单例模式
一个 Servlet 类在 tomcat 中只创建一个对象,等到服务器关闭才销毁,平时是常驻内存的。ServletRequest
和 ServletResponse
是两个接口,Servlet 是运行在 Tomcat 中,在 service 方法中两个 request 和 response 对象,是由 tomcat 创建出来,并且实例化,由 tomcat 调用 service 方法并且把这两个参数传递进来。
- 解析web.xml文件,使用dom4j之类工具。
- 得到类全名,通过反射实例化Servlet
创建request和response对象,调用service()方法,传递2个对象给方法。
2. JavaWeb 项目开发步骤
2.1. 使用 IDEA 开发 JavaEE 项目
在开发环境中准备好 tomcat,在 IDEA 中创建 application serviers,选择本地的 tomcat 目录即可
- 创建项目(Java Enterprise):项目命名、项目所在目录、项目的 Java 版本、tomcat 服务器等
- 选择项目需要的依赖
- 创建后目录结构
web.xml 是项目的描述文件,servlet 的配置放在这个文件中
- 创建完项目后,可以右键点击项目,选择【Edit Configuration】,修改项目的默认根目录的地址、端口号等
2.2. 使用 MyEclipse 开发 JavaEE 项目
2.2.1. Tomcat 配置与启动
在 MyEclipse 中 Tomcat 的配置 【Window】->【Preferences】
在 myeclipse 中启动 Tomcat
2.2.2. 创建 JavaEE 项目
- 创建项目:项目命名、项目所在目录、项目的JavaSE和JavaEE的版本
- 选择Java的源代码和字节码的目录
- 项目的访问地址,网页所在的文件夹。web.xml 是项目的描述文件,servlet 的配置放在这个文件中
创建完项目后,可以修改项目的默认根目录的地址,右键项目名,选择【Properties】,搜索 web,修改【Web Context-root】项即可
2.2.3. web 项目结构
- lib:放第三方的 jar 包,如:驱动、DbUtils 等
- classes:字节码文件
- web.xml:当前项目的部署描述文件,servlet 的配置就要放在这个文件中。
2.2.4. 开发 Servlet
- 创建一个类 MyServlet 继承于
javax.servlet.http.HttpServlet
类 - 重写
doGet()
方法 - 在
doGet
方法中向浏览器输出一些文字 - 在 web.xml 中配置 servlet。得到类全名的方法,需要点里面的构造方法,再点【Copy Qualified Name】
配置文件实现流程:
- 先通过地址来访问(部署后的页面是
http://localhost:8080/项目名/url名
) - 确定 servlet 的名字
- 通过步骤2的名字对应确认上面的 servlet 的文件
- 再利用反射实例化该类
2.2.5. 部署项目到 tomcat
点按钮【Deploy MyEclipse J2EE Project to Server】
【Add】-> 选择 【Server:Tomcat 7.x】
点击 【Finish】,完成部署
部署后 tomcat 的 webapps 目录多了一个项目文件夹,项目文件夹下有个 classes 文件,就是源代码生成的 class 文件
最后使用浏览器访问刚刚部署的项目http://localhost:8080/Day35_Tomcat/test