Servlet
6.1、Servlet简介
- servlet就是sun公司开发动态web 的一门技术
- sun在这些API中提供了一个接口叫做:Servlet,如果要开发一个Servlet程序,只需要完成两个步骤:
- 编写一个类,实现Servlet接口
- 把开发好的java类部署到web服务器中
把实现了Servlet接口的java程序叫做,Servlet
6.2、HelloServlet
servlet接口在sun公司有两个默认的实现类:HttpServlet,
-
创建一个普通的Maven项目,删掉里面的src目录,以后我们的学习就在这个项目里面建立Moudel,这个空的工程就是Maven的主工程
-
为项目添加依赖,导入需要的jar包,到Maven仓库下载
Maven Repository地址:https://mvnrepository.com
pom.xml是Maven的核心配置文件,把需要的jar包依赖导入到该文件里面,点击同步
关于Maven的父子工程的理解:
右击工程,创建一个新的Model模块
父项目,pom.xml中会多出一个modules模块
子项目中同样会多出一个相应的parent模块
父项目中导入的jar包子项目可以直接使用
son extends father
-
父项目已经搞完,可以不动了,对子项目里面插入一个java文件夹,一个resources文件叫,并且标记
-
Maven环境优化
-
修改web.xml为最新(参考tomcat里面的Servlet)
D:\App\tomcat\apache-tomcat-9.0.55\webapps\ROOT\WEB-INF里面的web.xml里面的,这里面的版本是最适应tomcat的
-
将maven的结构搭建完整
-
-
编写一个Servlet程序
- 编写一个普通类
- 实现Servlet接口,这里我们直接继承HttpServlet接口
public class HelloServlet extends HttpServlet {
//由于get和post只是请求实现的不同的方式,可以相互调用,业务逻辑都是一样的
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
PrintWriter writer = resp.getWriter();//响应流
writer.println("Hello,Servlet!");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doPost(req, resp);
}
}
-
编写Servlet 的映射
为什么需要映射:我们写的是java程序,但是要通过浏览器访问,而浏览器需要连接web服务区,所以我们需要在web服务中注册我们写的Servlet,还需要给他一个浏览器能够访问的路径;
<!--注册Servlet--> <servlet> <servlet-name>hello</servlet-name> <servlet-class>com.tong.servlet.HelloServlet</servlet-class> </servlet> <!--Servlet的请求路径--> <servlet-mapping> <servlet-name>hello</servlet-name> <url-pattern>/hello</url-pattern> </servlet-mapping>
-
配置Tomcat
轻车熟路Edit Configurations
注意:项目配置发布的路径即可 -
启动测试,成功~