idea 如何新建一个Maven项目并且写第一个servlet

  使用idea已经有段时间了,但是一直没有自己亲自新建一个项目,从头开始写一个Servlet,今天就来学习一下,并且记一个笔记。

  一。

1.首先,打开idea new-->Project

2.选择Maven 项目 点击下一步

3.填写groupid 和 Artifactid  如下:

4.点击下一步 选择一个路径,这个路径是存放你项目的路径

5.完了之后,用一个新窗口打开:

目录结构如下:

6.然后将mav项目,转成web项目 

右键项目Add Framework Support 

7.添加Web Application 支持

8.点击ok 后,项目就变为了web项目,看如下目录:

9.然后基本的项目已经起来了,然后就是写代码了,

二。

1.在src-->main-->java 下新建一个包 com.demo.servlet  然后在此包下新建一个 HttpServlet 类 

2.然后在此类下书写代码,首先HttpServlet 类要继承HttpServlet ,但是我在写这个继承的时候没有给我提示,如下所示:

只要是因为这个工程还没有添加 对servlet的支持,下面在pom文件中添加对 servlet的支持

  1.  
    <dependencies>
  2.  
    <!--引入servlet-->
  3.  
    <dependency>
  4.  
    <groupId>Javax.servlet</groupId>
  5.  
    <artifactId>servlet-api</artifactId>
  6.  
    <version>3.0-alpha-1</version>
  7.  
    </dependency>
  8.  
    </dependencies>

pom文件如下:

  1.  
    <?xml version="1.0" encoding="UTF-8"?>
  2.  
    <project xmlns="http://maven.apache.org/POM/4.0.0"
  3.  
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4.  
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5.  
    <modelVersion>4.0.0</modelVersion>
  6.  
     
  7.  
    <groupId>com.demo</groupId>
  8.  
    <artifactId>hellodemo02</artifactId>
  9.  
    <version>1.0-SNAPSHOT</version>
  10.  
     
  11.  
    <dependencies>
  12.  
    <!--引入servlet-->
  13.  
    <dependency>
  14.  
    <groupId>Javax.servlet</groupId>
  15.  
    <artifactId>servlet-api</artifactId>
  16.  
    <version>3.0-alpha-1</version>
  17.  
    </dependency>
  18.  
    </dependencies>
  19.  
     
  20.  
    </project>

3.此时再继承HttpServlet 就有这个提示了:

4.继承HttpServlet之后,需要重写doGet方法,在idea中 使用快捷键 Ctrl+O 选择重写的方法 

写完之后下面是HelloServlet的代码

  1.  
    package com.demo.servlet;
  2.  
     
  3.  
    import javax.servlet.ServletException;
  4.  
    import javax.servlet.http.HttpServlet;
  5.  
    import javax.servlet.http.HttpServletRequest;
  6.  
    import javax.servlet.http.HttpServletResponse;
  7.  
    import java.io.IOException;
  8.  
    import java.io.PrintWriter;
  9.  
     
  10.  
    public class HelloServlet extends HttpServlet {
  11.  
    @Override
  12.  
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  13.  
    PrintWriter out = response.getWriter();
  14.  
    try {
  15.  
    request.setCharacterEncoding("UTF-8");
  16.  
     
  17.  
    response.setContentType("text/html; charset=utf-8");
  18.  
    response.setCharacterEncoding("UTF-8");
  19.  
    String userId = request.getParameter("userId");
  20.  
    String pwd = request.getParameter("pwd");
  21.  
    if("admin".equals(userId) && "password".equals(pwd)){
  22.  
    out.println("success");
  23.  
    }else{
  24.  
    out.println("fail");
  25.  
    }
  26.  
    out.println("<br/>");
  27.  
    String servletPath = this.getServletContext().getRealPath("/");
  28.  
    out.println(servletPath);
  29.  
    out.close();
  30.  
     
  31.  
    } catch (Exception e) {
  32.  
    // TODO: handle exception
  33.  
    }
  34.  
    }
  35.  
    }

5.写完HelloServlet之后还不行,我们还没有在web.xml中进行配置

下面是web.xml中的内容

  1.  
    <?xml version="1.0" encoding="UTF-8"?>
  2.  
    <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
  3.  
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4.  
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
  5.  
    version="4.0">
  6.  
     
  7.  
    <display-name>hellodemo</display-name>
  8.  
    <servlet>
  9.  
    <servlet-name>HelloServlet</servlet-name>
  10.  
    <servlet-class>com.demo.servlet.HelloServlet</servlet-class>
  11.  
    </servlet>
  12.  
    <servlet-mapping>
  13.  
    <servlet-name>HelloServlet</servlet-name>
  14.  
    <url-pattern>/hello</url-pattern>
  15.  
    </servlet-mapping>
  16.  
    </web-app>

6.再然后就是在idea中配置tomcat了 如何配置我这里就不写了 我也会大家都会,我就把截图放一下吧:

 设置:Application context:/demo02

之后启动timcat 访问:

http://localhost:8080/demo02/hello
页面如下:


砍我HelloServlet 中 的写法 我这么访问:

http://localhost:8080/demo02/hello?userId=admin&pwd=password

返回的页面就是success 


 

至此,使用idea 新建一个Maven项目,并且书写第一个Servlet 完成,接下来,研究一下HttpServlet 

不积跬步,无以至千里

不积小流,无以成江海

 转载自:https://blog.csdn.net/liuying1802028915/article/details/85029145

原文地址:https://www.cnblogs.com/guohu/p/11341785.html