javaWeb21/10/28

Servlet

Servlet简介

1.Servlet就是sun公司开发动态web的一门技术,Sun公司在这些API中提供一个接口叫做:Servlet,把实现了Servlet接口的java程序叫做Servlet

2.开发Servlet程序
1)编写一个类,实现Servlet接口
2)把开发好的java类部署到web服务器中

HelloServlet

1.构建一个普通的Maven项目,删除里面的src目录,以后就在这个项目里建立Moudel,这个空的工程就是Maven主工程
2.可以在主工程下创建多个子工程
3.添加servlet和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>javax.servlet.jsp-api</artifactId>
            <version>2.3.3</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>

4.在普通的maven项目下建立maven_webapp子模块:新建->新模块->Maven->勾选webapp

  • 建立子模块,会在父项目中的pom中多一个module
<modules>
        <module>javaweb_servlet01</module>
    </modules>
  • 子项目中出现parent
<parent>
    <artifactId>untitled</artifactId>
    <groupId>org.example</groupId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  • 父项目中的jar包,子项目也能使用

5.Maven环境优化

  • 修改web.xml为最新的
  • 将Maven的结构搭建完整,在main下补全子模块的java和resource目录

6.编写一个servlet程序

  • 编写一个普通类
  • 该类实现Servlet接口,或继承HttpServlet。GenericServlet(是Servlet的两个默认的实现类)

出现问题:导入了servlet依赖仍然无法继承HttpServlet
解决方法:点击项目结构->点击依赖-> + ->从库中选择服务器点击并应用

public class HelloServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        PrintWriter p = resp.getWriter();
        p.print("Hello Servlet");
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doGet(req,resp);
    }
}

6.编写Servlet映射

  • 编写映射的原因:我们写的是JAVA程序,但是要通过浏览器访问,而浏览器需要连接web服务器,所以我们需要在web服务器中注册我们写的Servlet,还需要给他一个浏览器能够访问的路径
<!--注册Servlet-->
  <servlet>
    <servlet-name>hello</servlet-name>
    <servlet-class>com.wenping.servlet.HelloServlet</servlet-class>
  </servlet>
  <!--Servlet的请求路径-->
  <servlet-mapping>
    <servlet-name>hello</servlet-name>
    <url-pattern>/hello</url-pattern>
  </servlet-mapping>

7.配置Tomcat
8.启动测试

posted @ 2021-10-28 20:47  想吃坚果  阅读(43)  评论(0)    收藏  举报