Servlet
1、Servlet
- Servlet(Server Applet)服务器小程序,主要功能用于生成动态web内容
- Servlet是J2EE最重要的组成部分
2、Apache Tomcat:
- Tomcat是Apache软件基金会旗下一款免费的开放源代码的web应用服务器程序
- Tomcat是运行Servlet(服务器小程序)的容器
3、Tomcat安装与运行
- Tomcat:web服务器程序,它的职责就是接收来自于web浏览器的请求,并且根据请求的内容去调用对应的Servlet产生HTML的响应,再把这个响应按原路径返回给浏览器,浏览器收到html后将其显示出来
- Tomcat是完全采用Java开发的
- 官网:https://tomcat.apache.org/download-80.cgi
4、IDEA创建Java Web工程
(1)通过maven向导,创建标准java web工程
- 创建标准maven工程,在选择maven工程,jdk1.8,设置项目坐标系
- main文件夹下新建webapp目录
- 在File-Project Structure-Project Settings-Module-“+”-web中设置,表明该目录保存web应用方面的内容:
Deployment
Descriptors中调整核心配置文件web.xml的路径,在将"web"修改为“src\main\webapp”,版本信息与Tomcat保持一致,选择3.1;
设置web资源路径,选中webapp路径,部署时映射的路径默认为"/"; web应用的启动部署方式,使用默认目录保存最终运行的目录;
通过以上几步,webapp文件夹出现一个蓝点,说明配置成功了,然后再webapp下面创建初始网页index.html。
(2)将idea与Tomcat进行绑定,点击Add Configeration
- 点击template,在Application server中设置使用哪个Tomcat服务器运行程序,点击配置,选择Tomcat安装的目录;
- 取消自动打开默认网页;
- 在idea设置页设置的端口,和在web.xml中配置效果相同;
- Deployment中表明发布的方式,是对上面3.3设置的引用;应用程序上下文application context(web应用访问的前缀),一般设置为“/”
- 重新点击Configeration,点击“+”,选中刚才配置的Tomcat服务器,即可完成绑定。
5、servlet是怎么嵌入到Tomcat中运行的
作为Servlet是不能独立运行的,必须包含在Tomcat中才能运行,真正Tomcat加载运行的是在out目录下的servlet_first_Web_exploded,这个目录包含了完整的web应用的标准结构.
6、第一个Servlet
1、java目录下创建java类,命名为FirstServlet
2、在pom.xml文件下引入servlet依赖
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
</dependencies>
3、firstServelt继承类HttpServlet,然后重写service方法,req代表请求,resp代表响应。当一个类继承HttpServlet时,就会变为Servlet类。
4、编写web.xml文件,对写好的servlet进行配置,同时配置servlet映射(把url和servlet类对应起来)
<servlet>
<servlet-name>first</servlet-name>
<servlet-class>indi.xxmas.servlet.FirstServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>first</servlet-name>
<url-pattern>/hi</url-pattern>
</servlet-mapping>
- 配置Servlet的类路径是标签
- 配置的是与对应的Servlet名称
- 配置的是Servlet的访问路径
- 配置Servlet的映射关系
7、Servlet生命周期
1、装载—web.xml
2、创建—构造方法
3、初始化—init()
4、提供服务—service()
5、销毁—destory()
8、标准Java web工程结构
组织结构 | 描述 |
---|---|
/ | Java web应用根目录 |
/index | 默认首页 |
/WEB-INF | web应用的安全目录,用于存放配置文件 |
/WEB-INF/web.xml | web.xml是“部署描述性文件”,是该web项目核心配置文件 |
/WEB-INF/classes | 存放编译后的classes文件 |
/WEB-INF/lib | 用于存放web应用依赖的jar文件 |
/META-INF/MNIFEST.MF | 包含web应用的版本等信息 |
9、使用注解配置Servlet
- 可以在Servlet 3.x版本中使用注解配置Servlet
- 写在类上,双引号说明映射的地址,重启Tomcat生效
@WebServlet("/anno")
public class Annotation_servlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
PrintWriter writer = resp.getWriter();
writer.println("Im anootation servlet");
}
}