IntelliJ IDEA 2019 创建maven web项目


IntelliJ IDEA 2019 创建maven web项目

本文介绍使用IDEA创建不使用模板的web项目。

新建项目

image-20200226210315550

image-20200226210458711

配置项目

修改项目结构设置

image-20200226212549419

添加web module

Project那边没有什么需要修改配置的地方,不过需要的话可以修改Project compiler output,这里我们使用默认就可以了。

此项目无任何适配服务组件(因为是手工创建Maven,没有选择任何Maven模板),因此需要我们进行添加。

这里选择一个Web组件就表示这是一个web project

image-20200226212710033

配置Web Resource Directories

这里要选择scr/main目录,并且在后面手动添加一个webapp目录。

点OK,Web的资源目录便设置好了。

image-20200226213027305

配置Deployment Description

这一步是配置web.xml文件的位置,我们需要放在上一步webapp下面去。

image-20200226213229541

修改完成的结果

image-20200226213254439

到这里我们可以看到底部有一个警告,是我们还没有引入aftifact,接下来配置Aftifacts

Aftifacts配置

这个Aftifacts描述了当前项目发布的信息。现在进行添加,从Modeles中选择。

选择Modules

image-20200226214750810

弹出窗直接选择我们的这个module,然后点击ok就可以了

image-20200226214919063

配置完成以后的结果

image-20200226215113669

再回过头去看Modules菜单下的警告也没有了。

项目结构

这里我们就可以看到我们web项目必须要有的web.xml文件,并且我们在里面添加了一个welcome-file,当项目启动时打开我我们的index.html文件。

image-20200226215406335

配置Tomcat

下载Tomcat

首先进入Tomcat官网,这里我们选择了一个Tomcat-9.0.3的版本进行下载。

配置Tomcat Server

image-20200226215940914

image-20200226220025940

配置Deployment

image-20200226220205638

image-20200226220459166

配置Server

image-20200226220823555

运行web项目

在webapp目录下面新建index.html文件,项目结构如下。

image-20200226221200309

接下来启动项目

image-20200226221359622

然后我们访问http://localhost:8080/,就可以看到显示了我们`index.html`的内容了。

新建Servlet

package com.iogogogo.servlet;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.nio.charset.StandardCharsets;

/**
 * Created by tao.zeng on 2020/2/26.
 */
@WebServlet("/index")
public class IndexServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request, response);
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // 解决乱码
        request.setCharacterEncoding(StandardCharsets.UTF_8.displayName());
        response.setCharacterEncoding(StandardCharsets.UTF_8.name());
        String name = request.getParameter("name");
        request.setAttribute("name", name);
        System.out.println(name);
        response.getWriter().println(name);
    }
}

然后重启项目我们在地址栏输入http://localhost:8080/index?name=哈哈哈就可以看到页面输出了哈哈哈

常见问题

  • 无法使用servlet包下面的类

    解决方案:在Modules加入Tomcat依赖

image-20200226223033946

image-20200226223106321

image-20200226223154510


文章作者: 阿牛
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 阿牛 !
评论
  目录