maven(3)用IDEA社区版创建web项目

intellij IDEA 社区版阉割了Java web的功能,所以只能靠maven实现了。

1. IDEA打开以后,file→new→project,按照下图选择项目

maven(3)用IDEA社区版创建web项目_第1张图片

 

2. maven(3)用IDEA社区版创建web项目_第2张图片

设置好groupid和artifactid以及版本号

3. 一直next直至项目创建完毕,由于很多依赖项需要联网,可能会出现项目创建不完全的事情, 所以建议创建以后点一下右侧 maven project的刷新

maven(3)用IDEA社区版创建web项目_第3张图片

 

4. 创建完以后需要添加maven的tomcat插件。点击调试窗口的edit configuration或者add configuration。然后添加maven配置maven(3)用IDEA社区版创建web项目_第4张图片

maven(3)用IDEA社区版创建web项目_第5张图片

 

5.配置名称输入tomcat7,当然你也可以输入别的什么名字。command line输入“tomcat7:run" 

我在这里有两个疑问

1. tomcat7:run是什么意思?google后明白其实是maven的命令 mvn -X tomcat7:run

2. 为什么要用tomcat7,tomcat8不行吗?答案是不行,因为maven的插件库中根本没有tomcat8

maven(3)用IDEA社区版创建web项目_第6张图片

6. 配置完以后点击debug或者run。会显示No plugin found for prefix 'tomcat7' in the current project and in the plugin groups。

为什么呢?因为我们只是让maven去运行tomcat,却没有告诉maven加载tomcat插件。所以还要让maven加载tomcat插件,通过修改pom文件实现。

在pom的中添加如下的代码

        
        org.apache.tomcat.maven
        tomcat7-maven-plugin
        2.2
        
          8080
          /Dance
          UTF-8
          tomcat7
        
      

要注意:path的地方一定要设置成项目名称!

然后运行可以看到如下的界面就说明运行成功

maven(3)用IDEA社区版创建web项目_第7张图片

打开浏览器,输入http://localhost:8080/,会看到helloworld的界面。

7.在这里,我又有一个疑问,在command line中,命令是tomcat7:run。说明肯定是把tomcat7映射到tomcat7-maven-plugin。那么是pom中的哪一句话完成的映射呢。直觉上看,肯定是tomcat7。于是把这句话改成gggg,发现仍然可以启动tomcat,好吧。只好认为是maven在自动识别插件的名字。

8.tomcat配置好以后就可以写servlet并且调试了

这是Maven的默认目录结构,其他没有创建的目录在需要时可自行创建

 ```
 ${basedir}
 |--pom.xml
 |--src
 |     |-- main
 |     |          `-- java
 |     |          `-- resource
 |     |          `-- filters
 |     |
 |     |-- test 
 |     |         `-- java
 |     |         `-- resource
 |     |         `-- filters
 |     |
 |     |-- it
 |     |-- assembly
 |     |-- site
 |-- LICENSE.txt
 |-- NOTICE.txt
 |-- README.txt
 ```

9. 在main文件夹下创建一个MyServlet的java文件

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;

public class MyServlet extends HttpServlet
{
    public void doGet(HttpServletRequest request,HttpServletResponse response)
            throws ServletException, IOException
    {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.println("");
        out.println("

This is my first servlet ~

"); out.println(""); } }

但是发现javax包报红,这里需要在pom文件中单独设置依赖项

    
      javax.servlet
      servlet-api
      2.5
      provided
    

然后点即import change。

10. 设置完毕,运行一下。然后输入http://localhost:8080/Dance/hello,出现下面的界面,表示成功!

maven(3)用IDEA社区版创建web项目_第8张图片

11.加个断点,然后点调试,然后在浏览器中输入http://localhost:8080/Dance/hello,出现

maven(3)用IDEA社区版创建web项目_第9张图片

 

你可能感兴趣的:(java)