使用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

idea 如何新建一个Maven项目并且写第一个servlet的更多相关文章

  1. 新建我的 第一个maven项目

    maven是管理项目的,myeclipse是编写代码的.第一次写项目都要配置好多东西,很麻烦,now 来看看怎样新建一个maven项目. 百度经验:jingyan.baidu.com 工具/原料   ...

  2. 如何在idea里面新建一个maven项目,然后在这个maven项目里创建多个子模块

    如何在idea里面配置maven我这里就不多说了 先新建一个maven项目作为总的管理项目 不用勾选什么,直接下一步 这样子一个普通的maven项目就创建成功了. 因为这个项目是用来管理多个子模块的, ...

  3. 如何在maven项目里面编写mapreduce程序以及一个maven项目里面管理多个mapreduce程序

    我们平时创建普通的mapreduce项目,在遍代码当你需要导包使用一些工具类的时候, 你需要自己找到对应的架包,再导进项目里面其实这样做非常不方便,我建议我们还是用maven项目来得方便多了 话不多说 ...

  4. eclipse中创建一个maven项目

    1.什么是Maven Apache Maven 是一个项目管理和整合工具.基于工程对象模型(POM)的概念,通过一个中央信息管理模块,Maven 能够管理项目的构建.报告和文档. Maven工程结构和 ...

  5. 建一个maven项目

     建一个普通的maven项目(eclipse) 需要的jar和文件: eclipse :jdk1.8.0_144 maven:apache-maven-3.5.3     进入(下载):http:// ...

  6. Maven(一)如何用Eclipse创建一个Maven项目

    1.什么是Maven Apache Maven 是一个项目管理和整合工具.基于工程对象模型(POM)的概念,通过一个中央信息管理模块,Maven 能够管理项目的构建.报告和文档. Maven工程结构和 ...

  7. jenkins 构建一个maven项目

    1.首先在 全局工具配置 里配置maven的路径信息 这里因为之前已经下载了maven并放在了E盘,因此只需要在 MAVEN_HOME 添加maven文件夹的路径 如若本地还没maven,勾选 “自动 ...

  8. (一)maven之创建一个maven项目

    为什么要使用Maven? 1.  maven使用的是本地仓库存储jar,所有项目都会共用仓库中的同一份jar. 2.  Spring core.jar必须同时引用版本兼容的common-logging ...

  9. 3.将maven项目jar纳入maven仓库,Mave项目依赖另外一个Maven项目的案例

     1 若想让maven项目依赖另外一个maven项目.被依赖的项目要在maven仓库中有对应的jar包,所以要对依赖的项目运行mvninstall命令. 2 新建第二个项目模块HelloFrien ...

随机推荐

  1. [转] 雷电三和typec傻傻分不清

    原文:https://club.lenovo.com.cn/thread-4921715-1-1.html 因为形状完全一致,所以很多人都误以为Type-C=雷电3. 实际上,雷电3只是采用了Type ...

  2. [ipsec][strongswan] 使用VTI配置基于路由的ipsec

    之前写的一个:[dev][ipsec] 基于路由的VPrivateN 一 我们默认用strongswan的时候基于策略的. 也就是policy. 基于策略的ipsec中, policy承担了两部分功能 ...

  3. IAR为STM32创建工程模板(基于STM32f103zet6)

    今天给小伙伴分享一篇给stm32新建工程模版 1.首先打开IAR,就是这个样子 2.再建一个目录文件夹 3.建立一个工作空间,以及建好工作空间如右图所示 4.接下来建立工程,Project------ ...

  4. 基于yum的方式安装Cloudera Manager Agent(使用Mysql 8.0版本)

    基于yum的方式安装Cloudera Manager Agent(使用Mysql 8.0版本) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.  一.选择CDH版本 1>.确认 ...

  5. netty websocket

    1 全局保存websocket的通道  NettyConfig.java public class NettyConfig { public static ChannelGroup group = n ...

  6. Systemweaver — 电子电气协同设计研发平台

            当前电子电气系统随着功能安全.AutoSAR.车联网.智能驾驶等新要求,导致其复杂性.关联性日益上升.当前,传统基于文档的设计由于其低复用性.无关联性.无协同性等缺点,已经无法适应日益 ...

  7. Linux系统下不同机器之间拷贝文件的方法

    在Linux系统下,不同机器上实现文件拷贝 一.将本地文件拷贝到远程机器: scp /home/administrator/news.txt root@192.168.6.129:/etc/squid ...

  8. Caused by: java.io.IOException: 你的主机中的软件中止了一个已建立的连接。

    org.apache.catalina.connector.ClientAbortException: java.io.IOException: 你的主机中的软件中止了一个已建立的连接. at org ...

  9. Fiddler——如何抓取PHP的curl请求

    前言 本文主要介绍如何使用fiddler工具,来进行抓取PHP的curl请求,如果你会使用fiddler,那就是一行代码的事, 不会也没事,本文会教你如何简单的使用. 步骤 代码 设置桥接网络为127 ...

  10. Vue之@click、事件修饰符@click.stop与@click.prevent、按键修饰符@keyup.enter

    1.绑定监听@click: (以监听click为例,其他如keyup,用法类似)  v-on:click="fun"  @click="fun"  @click ...