在IDEA中利用maven创建web项目:写一个servlet,跳转到jsp页面

1.先创建一个web项目

不会的话,可以参考:该方法

2.补齐main下的java和resources目录

3.在main下的java目录创建一个servlet

在这里插入图片描述
注意:
可以直接创建Java Class,然后继承HttpServlet
也可以直接选Servlet
二者的区别在于:直接选Servlet会在web.xml中配置好Servlet的跳转路径

问题:java下新建没有servlet

解决:添加servlet依赖

具体参考自己的另一篇博客:参考

javax.servlet
javax.servlet-api
3.1.0
provided

4.创建好之后,在web.xml中进行配置

在这里插入图片描述

  <!--配置Servlet -->
  <servlet>
    <servlet-name>MyServlet</servlet-name>
    <servlet-class>com.anan.servlet.MyServlet</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>MyServlet</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>

5.在MyServlet中重写doGet和doPost方法

问题:servlet会变成红色

解决:这是因为没有导入servlet的jar包,即maven依赖

    <!--servlet-->
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.1.0</version>
      <scope>provided</scope>
      <!--加scope是让它只在编译的时候起作用,运行的时候不起作用,防止出现jar包冲突
      如果运行是用本地的tomcat的话就不会冲突,如果使用maven自带的tomcat的话就有可能出现冲突-->
    </dependency>

    <!--jsp-->
    <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>jsp-api</artifactId>
      <version>2.0</version>
      <scope>provided</scope>
    </dependency>

转发到hello.jsp
在这里插入图片描述

public class MyServlet extends HttpServlet{
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doPost(req, resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        req.getRequestDispatcher("/hello.jsp").forward(req, resp);
    }
}

6.创建hello.jsp

要创建在webapp目录下
在这里插入图片描述

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
 hello, maven!
</body>
</html>

7.将该项目部署到tomcat服务器

然后在浏览器输入:http://localhost:8080/maven_web_servlet_jsp_war_exploded/MyServlet
会出现
在这里插入图片描述
至此,项目完毕!

重要说明:

访问该路径能自动访问MyServlet,是因为在web.xml中进行了配置

  • 执行原理:
  1. 当服务器接受到客户端浏览器的请求后,会解析请求URL路径,获取访问的Servlet的资源路径
  2. 查找web.xml文件,是否有对应的标签体内容。
  3. 如果有,则在找到对应的全类名
  4. tomcat会将字节码文件加载进内存,并且创建其对象
  5. 调用其方法

Servlet3.0:
* 好处:支持注解配置。可以不需要web.xml了。
* 步骤:
1. 创建JavaEE项目,选择Servlet的版本3.0以上,可以不创建web.xml
2. 定义一个类,实现Servlet接口
3. 复写方法
4. 在类上使用@WebServlet注解,进行配置

  • 4
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

安安csdn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值