使用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. Cephfs 部署 创建 metadata 池 data池

    上一次部署了ceph分布式存储,接下来我们部署ceph的文件系统.Ceph文件系统至少需要两个RADOS池,一个用于数据,一个用于元数据. 创建metadata 池 后面数字表示 PG 和pgp数 c ...

  2. scala 基础知识 FAQ

    问题1: 抽象成员初始化规则 ① 父类先初始化 ② 在初始化的过程中,如果 val 发生重写,只有最后一个重写生效.前面的会变成零值,后面的会直接继承. 参考资料:https://docs.scala ...

  3. Jinja2 笔记

    注释: {# haha #} 对象引用 : {{data.name}}  或者 {{data['name]}} 控制语句放到{%  %}中 {% if not has_in_gifts and not ...

  4. js 全选反选

    <th><input type="checkbox" id="checkall" name="checkall" oncl ...

  5. spring框架面試題目

    25个经典的Spring面试问答 这是在网上下载的面试题,忘记了出处,如带来不便联系本人立马删除,在这里提供给将要面试的朋友,与大家分享,希望能给您带来帮助! 问题清单: 1. 什么是Spring框架 ...

  6. jquery刷新数据随机排列

    jquery 随机排列<li> 在线等 急... ul里 有六个li 每次刷新 li 的顺序就随机排列一次 求大神指点..... 代码如下:不会插入代码 只能截图了 <!DOCTYP ...

  7. Codeforces Round #604 (Div. 2) A,B,C【D题待补】

    思路:直接暴力判断就OK了 #include<bits/stdc++.h> using namespace std; #define int long long signed main() ...

  8. CF463D Gargari and Permutations dp

    给定 $n<=10$ 个 $1$~$n$ 的排列,求这些排列的 $LCS$. 考虑两个排列怎么做:以第一个序列为基准,将第二个序列的元素按照该元素在第一个序列中出现位置重新编号. 然后,求一个 ...

  9. XOR Clique(按位异或)

    XOR Clique(按位异或): 传送门:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=4057 准备:异或:参加运算的两 ...

  10. 第12组 Alpha冲刺(2/6)

    Header 队名:To Be Done 组长博客 作业博客 团队项目进行情况 燃尽图(组内共享) 展示Git当日代码/文档签入记录(组内共享) 注: 由于GitHub的免费范围内对多人开发存在较多限 ...