当前位置:   article > 正文

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

idea当点击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>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

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>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

转发到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);
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

6.创建hello.jsp

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

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
 hello, maven!
</body>
</html>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

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注解,进行配置

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号