1 什么是Servlet
Servlet是Server Applet的简称,是用Java编写的是运行在 Web 服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。使用 Servlet,可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页。
2 Servlet的使用方法
Servlet技术的核心是Servlet接口,定义了Servlet与Servlet容器之间的契约,Servlet容器将Servlet类载入内存,生成Servlet实例并调用它具体的方法,所以它是所有Servlet类必须直接或者间接实现的一个接口。
3 Servlet接口的继承结构
-
Servlet接口:只负责定义Servlet程序的访问规范;
-
GenericServlet抽象类:实现了Servlet接口,做了很多空实现,并持有一个ServletConfig类的引用,并提供了一些ServletConfig的使用方法;
-
HttpServlet抽象类:实现了service方法,并实现了请求分发处理;
4 servlet入门
新建项目
新建模块
添加框架
修改web项目
将web文件名重命名为webapp
并把webapp文件夹移动到../src/main/路径下
在模块中添加javax.servlet依赖并更改打包方式为war
<dependency><groupId>javax.servlet</groupId><artifactId>servlet-api</artifactId><version>2.5</version>
</dependency>
新建Servlet接口实现类,并实现Servlet方法
public class javawebHello implements Servlet {@Overridepublic void init(ServletConfig servletConfig) throws ServletException {}@Overridepublic ServletConfig getServletConfig() {return null;}@Overridepublic void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {}@Overridepublic String getServletInfo() {return null;}@Overridepublic void destroy() {}
}
重写service方法
@Overridepublic void service(ServletRequest req, ServletResponse servletResponse) throws ServletException, IOException {servletResponse.setContentType("text/html;charset=utf-8");servletResponse.getWriter().write("<h1>hello<h1>");}
编辑web.xml文件
<servlet><servlet-name>hello</servlet-name><!-- servlet-name要和servlet-mapping所对应,映射的关系--><servlet-class>com.by.servlet.javawebHello</servlet-class></servlet><servlet-mapping><servlet-name>hello</servlet-name><url-pattern>/hello</url-pattern></servlet-mapping>
meaven打war包
复制war包放到tomcat的webapps路径下
到bin目录中运行startup.bat
到浏览器输入:localhost:8080访问
localhost:8080/hello访问sercice