Servlet是Server Applet的简称,是用Java编写的是运行在 Web 服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。使用 Servlet,可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页。
Servlet技术的核心是Servlet接口,定义了Servlet与Servlet容器之间的契约,Servlet容器将Servlet类载入内存,生成Servlet实例并调用它具体的方法,所以它是所有Servlet类必须直接或者间接实现的一个接口。
Servlet接口:只负责定义Servlet程序的访问规范;
GenericServlet抽象类:实现了Servlet接口,做了很多空实现,并持有一个ServletConfig类的引用,并提供了一些ServletConfig的使用方法;
HttpServlet抽象类:实现了service方法,并实现了请求分发处理;
新建项目
新建模块
添加框架
修改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 {
@Override
public void init(ServletConfig servletConfig) throws ServletException {
}
@Override
public ServletConfig getServletConfig() {
return null;
}
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
}
@Override
public String getServletInfo() {
return null;
}
@Override
public void destroy() {
}
}
重写service方法
@Override
public 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