- servlet是sun公司开发动态web的一门技术
- sun在这些API中提供一个接口叫做:servlet,开发一个servlet程序,需要完成两个步骤:
- 编写一个类,实现servlet接口
- 把开发好的java类部署到web服务器中
Servlet接口在sun公司有两个默认的实现类:HttpServlet;
- 构建一个普通的maven项目,删掉里面的src目录,以后我们的学习就在这个项目里建module;这个空的工程就是maven的主工程;新建后可能没有iml文件,选中文件右击打开terminal输入mvn idea:module回车下载成功后,双击文件就可以看见iml文件了。
- 在pom.xml文件中导入servlet和jsp依赖,依赖在官网中找
- 新建一个module:选中maven项目右键建module
- 关于maven父子工程的理解:maven项目中每一个module就是一个子模块
父项目pom.xml文件中会增加:
servlet-01
子项目pom.xml文件会有:如果没有可手动添加
org.example javaweb-02-servlet 1.0-SNAPSHOT
父项目中的jar包,子项目可以直接使用;子项目中的jar包,父项目不可以使用。
- maven结构优化
- 修改web.xml为最新的
- 建好子项目maven结构:在main中新建两个directory------java和resources,并进行标记。
- 编写一个servlet程序—在src-main-java directory中、com.kuang.servlet package目录下新建HelloServlet class文件
- 编写一个普通类
- 实现servlet接口,这里直接继承HttpServlet.继承时可能会报错,重启以下idea
public class HelloServlet extends HttpServlet {
//由于get或post只是 请求实现 的 不同的方式,可以相互调用,业务逻辑是一样的;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
PrintWriter writer = resp.getWriter();//响应流
writer.print("Hello,Servlet");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doPost(req, resp);
}
}
-
编写servlet的映射—在web.xml中
为什么需要映射:我们写的是Java程序,但是要通过浏览器访问,而浏览器需要连接web服务器,所以我们需要在web服务中注册我们写的servlet,同时还需要给他一个浏览器能够访问的路径
hello com.kuang.servlet.HelloServlet hello /hello
-
配置tomact
-
启动测试,会生成target:生成网站
运行成功后—index.jsp页面
通过在xml中设置的请求路径来展示–java程序页面
目录结构:



