使用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. Wireshark 分析Linux SSh 远程登录延迟问题

    1.PuTTy远程登录延迟的分析 现象问题描述:在使用kali linux 的时候喜欢在后台运行而在Windows主机系统上安装PuTTY来实现远程登录 发现每次输入密码的时候会存在延迟10s的情况, ...

  2. idea中添加web.xml配置文件与tomcat启动中遇到的web.xml文件找不到的问题

    1,如何在idea中向war项目中添加web.xml的配置文件 idea通过maven创建war项目时没有指定是webapp导致创建出来的项目没有webapp的文件夹.其实war项目中都是在" ...

  3. 【HICP Gauss】数据库 升级迁移维护-2

    DM-Data Manager 集群管理web工具 数据库升级 1.检查版本 依次升级.升级前全备数据 2.磁盘空间不小于表预留空间 3. 确保数据库对包有一定权限 4.升级后正常启停 python ...

  4. html实战

    主要html源码 <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset=&qu ...

  5. 在linux上搭建SVN服务器并自动更新至WEB目录

    1.仓库放在 /var/svn/ 目录下,并且仓库名为 project 2.创建用户组user,该组下添加两个成员user1.user2,密码直接用用户名,两用户可以checkout代码和提交代码 3 ...

  6. wireshark 抓包再利用TCP socket发送包里的payload是可以实现登陆的

    用户密码可被批量破解 在用户使用手机端登录时,对数据进行抓包分析. 多次抓包分析后,可得到几个关键TCP数据包. 根据前面逆向编写出的解密算法,使用socket进行数据发包测试: 可以模拟APK进行用 ...

  7. springboot集成thymeleaf中遇到不能反悔页面,只能反悔字符串

    错误:::::不能返回页面,只能返回字符串 原因::::在controller中使用了注解@RestController 修改注解为:@Controller 分析: RestController = ...

  8. 苹果cms和海洋cms通用的百度主动推送工具

    百度主动推送的代码,不需要每天手动去添加地址推送,只要浏览器打开推送请求,不要关掉浏览器,程序自动帮你推送.(该插件只推送内容页,支持动态.伪静态.静态页面的推送,但这三种地址规则需要去代码里面自行拼 ...

  9. (java)selenium webdriver学习,选择模块,点击下一页,获取当前url

    selenium webdriver学习,选择模块,点击下一页,获取当前url 查找下一页有多种方法,这里列举两种: isSelected()函数用于判断是否点击选中,返回Boolean类型 impo ...

  10. mysql wait_timeout interactive_timeout 详解

    查看mysql server超时时间: msyql> show global variables like '%timeout%'; 设置mysql server超时时间(以秒为单位): 最小设 ...