概述
创建javaee的web项目
在使用servlet之前我们需要先创建一个javaee的web项目,一个web项目通常包含下面一些文件:
src
web
WEB-INF
lib
classes
index.jsp
- src:存放java源代码
- web:存放静态资源和动态资源
- WEB-INF:该目录下的所有文件无法从浏览器中直接访问
- lib:存放相关的jar包
- classes:存放编译后的class文件
- index.jsp:web项目中默认访问的首页
application context(项目上下文),通过配置项目上下文可以在tomcat部署多个项目。
什么是Servlet
servlet是一门用于开发动态web资源的技术,可以运行在Web服务器中的小型Java程序,有时也叫做服务器端的小应用程序,servlet是server applet两个单词的组合而成。servlet 可以通过 HTTP协议接收和响应来自 Web 客户端的请求。
servlet的语法跟JavaSE是一样的并且能够使用JavaSE中的API,要想创建一个servlet并使用的话可以分为以下几个步骤:
- 创建一个javaee的web项目
- 编写一个Java类,实现javax.servlet.Servlet接口,并重写该接口中的抽象方法
- 在web.xml文件中配置该servlet(如果使用注解方式的话,无需配置web.xml)
- 将该web项目部署到tomcat中并启动
web访问流程图:
如上图所示,服务器端程序其实就是实现了servlet接口的程序,servlet的主要作用其实就是处理和响应客户端的请求。
编写第一个Servlet
创建一个web项目可以在创建项目时关联tomcat,这样eclipse会把相关的servlet-api.jar包拷贝到项目中,在项目创建一个Java类实现servlet接口并重写里面的方法。
package com.monkey1024.servlet;
import java.io.IOException;
import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class FirstServlet implements Servlet {
@Override
public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException {
System.out.println("Hello Servlet");
}
@Override
public void destroy() {
}
@Override
public ServletConfig getServletConfig() {
return null;
}
@Override
public String getServletInfo() {
return null;
}
@Override
public void init(ServletConfig arg0) throws ServletException {
}
}
servlet创建好之后,需要在web.xml文件中进行配置,给servlet一个可以访问的URI地址:
<!-- 创建一个servlet实例 -->
<servlet>
<!-- 给servlet取一个名字,该名字需与servlet-mapping中的servlet-name一致 -->
<servlet-name>firstServlet</servlet-name>
<!-- servlet的包名+类名 -->
<servlet-class>com.monkey1024.servlet.FirstServlet</servlet-class>
</servlet>
<!-- 给servlet一个可以访问的URI地址 -->
<servlet-mapping>
<!-- servlet的名字,与 servlet中的servlet-name一致-->
<servlet-name>firstServlet</servlet-name>
<!-- URI地址:http://locahost:8080/07-01-servlet/hello -->
<url-pattern>/hello</url-pattern>
</servlet-mapping>
之后将该web项目部署到tomcat中,启动成功后访问:http://locahost:8080/07-01-servlet/hello
可以看到eclipse控制台中打印出了Hello Servlet
通过上面示例可以看出,servlet的需要部署在tomcat中才能运行,有时tomcat也被称为是servlet的容器。
servlet执行流程
servlet执行流程序列图:
- 客户端向tomcat发送请求,http://localhost:8080/07-01-servlet/hello
- tomcat根据请求的URL找到名称为07-01-servlet的应用
- tomcat根据请求的URI"/hello"找到web.xml文件中url-pattern与之对应的标签
- tomcat根据url-pattern标签中的servlet-name定位到com.monkey1024.servlet.FirstServlet类。
- tomcat实例化FirstServlet类
- 调用FirstServlet类中的init方法
- 调用FirstServlet类中的service方法
- FirstServlet将数据响应给客户端
- 调用distroy方法销毁FirstServlet
最后
以上就是故意帅哥为你收集整理的Servlet简介的全部内容,希望文章能够帮你解决Servlet简介所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复