6.1.servlet简介
-
servlet就是Sun公司开发动态web的一门技术
-
Sun在这些API中提供一个接口叫做:Servlet,如果你想开发一个Servlet(动态web)程序,只需要完成两个小步骤:
-
编写一个类,实现Servlet接口
-
把开发好的java类部署到web服务器中
-
把实现了Servlet接口的Java程序叫做,Servlet
6.2HelloServlet
servlet接口Sun公司有两个默认的实现类:HttpServlet GenericServlet
实现步骤:
1.构建父工程
构建一个普通的maven项目,删掉里面的src目录,以后我们学习就在这个项目里面建立Moudel;这个空的工程就是Maven主工程;
父工程:
2.添加依赖
在父工程中添加依赖,更新maven
Maven中添加servlet、jsp依赖:
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.1</version>
<scope>provided</scope>
</dependency>
</dependencies>
3.建立子模块
建立一个子模块(子模块也是普通maven),添加框架,形成完整项目结构
4.编写servlet
编写servlet,实现Servlet接口,这里我们直接继承HttpServlet,重写方法(快捷键:alt+ins),按alt键实现多选
package com.chang;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
//由于get或者post只是请求实现的不同的方式,可以相互调用,业务逻辑都一样
public class HelloServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
PrintWriter writer = resp.getWriter();//获取响应流
writer.write("Hello World");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doGet(req, resp);
}
}
5.编写Servlet的映射
为什么需要映射:我们写的是JAVA程序,但是要通过浏览器访问,而浏览器需要连接web服务器,所以我们需要在web服务器中注册我们写的Servlet,还需要给他一个浏览器能够访问的路径;
<servlet>
<servlet-name>helloServlet</servlet-name>
<servlet-class>com.chang.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>helloServlet</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
6.配置Tomcat,测试
注意:配置项目发布的路径就可以了