zoukankan      html  css  js  c++  java
  • linux下的Java开发 intellij idea+tomcat+maven

    前期准备:安装intellij idea、下载tomcat、下载maven(注意我用的是tomcat6、maven 3.2.1、jdk1.6.0_45,之前maven用的3.5结果报错,搞了好久,建议小伙伴们用稳定版本)

    intellij idea官方网站:https://www.jetbrains.com/idea/download/#section=linux(注意要下载Ultimate版本,不然里面的东西不全,比如tomcat插件...)

    intellij idea破解:http://blog.csdn.net/zhangwenwu2/article/details/54948959

    tomcat官方下载:http://tomcat.apache.org/download-60.cgi 

    maven官方下载:https://archive.apache.org/dist/maven/maven-3/

    注意下载tar.gz后缀的文件

    运行idea,我的idea安装在了/usr/idea/idea-IU-172.3317.76目录下,&指的是后台运行

     
     
    create new project 创建一个新的项目

      选择Maven ,勾选Create from archetype,然后选择下面的mave-archetype-quickstart,一定要看清楚了别选错了,会出事的。选好以后next

    填写相应信息,图里面的groupid和artifactid命名其实不太规范,规范的命名这边有个很不错的blog :https://blog.csdn.net/snowin1994/article/details/53024871

    finish,下面这个选择enable Auto-import

     

    按快捷键ctrl+alt+shift+s ,选择Modules,点击+号为项目添加web模板

     修改Web Resource Directory、Deployment Descriptors 为我圈写的内容,如果不存在这些目录和文件,就手动打进去,如果本地目录里面没有web.xml就手动建一个(比如说只能定位到/src/main,没有webapp 你就自己手动在后面敲进去),如果你并不想把webapp放在src/main目录下怎么办?其实很简单,你可以指定你想要的任意位置。值得注意的是两个圈里面的目录一定要对应上。

    Facts: 表示当前项目的适配服务组件。可看到此项目已是一个Web项目了。

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

     

     

    点击ok

    说明:A: 现在Artifacts已有了发布的项目了(idea中准确的说应是Modele) B:output root目录描述了当前项目的编译目录及适配服务。

     

    确定之后当前项目的结构:

    项目的部署

    配置tomcat

    在deploment面板中点击+号,添加artifact

    配置server

    注意:有的朋友配完tomcat以后,喜欢访问/目录看出没出现猫的首页。你可能以为出现猫就代表运行成功,没出猫就是失败。其实不然,如果按照这个方法配置下去,最后你访问localhost:port后并不会出现猫,如果你想出现猫,参考这篇blog : https://blog.csdn.net/wust_lh/article/details/68494434,他里面有一张图粘错了,不过不影响阅读。

    这边插个小技巧,在网上查了一下on update action 和 on frame deactivation的使用,这边有个很不错的博客 blog :  https://www.cnblogs.com/zhangguangju/p/7027904.html ,博主说推荐使用 update classes and resources + Do nothing的配置。我试了一下很好用,不管你是改jsp还是改后台类,只需要手动点一下,然后选择update classes and resources就可以生效代码,而不需要重启tomcat。

    有时候操作着操作着莫名其妙日志窗口消失了,对于我们刚使用IDEA编译器的小白来说真是痛苦不堪呀,找了半天找不到怎么恢复。这个时候你可能会很怀念eclipse里面人性化的命令,重置布局Reset Perspective,不要担心在IDEA里面可以用Alt+4 / Alt +5恢复,如果你想调出shell操作窗口可以使用Alt+F12。

    编写代码测试

    写一个servlet,如果报错,是因为没有引入库文件

    import java.io.IOException;
    
    public class HelloController extends javax.servlet.http.HttpServlet {
        protected void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException {
            doPost(request,response);
        }
    
        protected void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException {
    
            request.setCharacterEncoding("UTF-8");
            String name = (String) request.getParameter("name");
            request.setAttribute("name",name);
            System.out.println(name);
            request.getRequestDispatcher("index.jsp").forward(request,response);
    
        }
    } 

    我们发现,报红了,因为我们没有导入Tomcat的库文件,按shift+ctrl+alt+s,modules中点击自己的项目testmaven,在dependencies中点击+号选择第二个添加tomcat的库文件即可

     web.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
             version="3.1">
        <servlet>
            <servlet-name>HelloController</servlet-name>
            <servlet-class>HelloController</servlet-class>
        </servlet>
        <servlet-mapping>
            <servlet-name>HelloController</servlet-name>
            <url-pattern>/Hello</url-pattern>
        </servlet-mapping>
    </web-app>

    index.jsp

      Created by IntelliJ IDEA.
      User: zyh
      Date: 17-7-19
      Time: 下午8:08
      To change this template use File | Settings | File Templates.
    --%>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>testmave</title>
    </head>
    <body>
       your name is : ${name}
    </body>
    </html>

    项目结构图

    运行tomcat

    项目我也传到github上了,邮箱去的朋友可以瞅瞅

    https://github.com/Demo233/testmaven/

      

  • 相关阅读:
    rest-framework之路由
    rest-framework之频率控制
    mysql 模糊查询 concat()
    解决spring使用动态代理
    MySQL巧用sum,case...when...优化统计查询
    解决maven项目中有小红叉的问题
    google ---gson字符串数组用GSON解析然后用逗号隔开拼接,去掉最后一个逗号
    Elicpse使用技巧-打开选中文件文件夹或者包的当前目录
    powdesigner建表
    遍历map
  • 原文地址:https://www.cnblogs.com/zyh1994/p/7208332.html
Copyright © 2011-2022 走看看