jfinal学习(1)环境搭建

jfinal学习(1)环境搭建

jfinal:

  JFinal 是基于Java 语言的极速 web 开发框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。在拥有Java语言所有优势的同时再拥有ruby、python等动态语言的开发效率。

  jfinal官网:https://www.jfinal.com/doc     (有需要的搭建可以去官网看看)

idea搭建jfinal项目实战

  第一步:创建一个maven的web项目:jfinal_demo_web

      

      

   到这就搭建好一个maven的web项目了,不过此maven项目还缺少点东西,需要自己去填充: 

    新生产的maven项目如下图左侧所示:我们需要把java,resources资源文件夹补充上,由于现在采用jsp使用较少,所以我会吧jsp也去除,,修改后如下图右侧所示

      

    注意,到这还需要把新创建的文件夹资源化:如下图所示

      

 

   到这初始化maven的web项目已经搭建成功了,大家如果感觉麻烦的话,可以参考我之前的自定义maven骨架的教程,那样辛苦一次就可以复用了,我在这就不详细说自定义骨架这块了

  第二步:初始化jfinal配置

    引入jfinal  jar   默认是jetty服务器,在此项目中我会对比三种服务器的形式启动:  undertow  |   jetty   |  tomcat    

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.huhy</groupId>
  <artifactId>jfinal_demo_web</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>war</packaging>
  <name>jfinal_demo_web Maven Webapp</name>
  <!-- FIXME change it to the project's website -->
  <url>http://www.example.com</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
    <!--
      三种服务器的启动对比:
        注意:都要引用对应依赖
        undertow:
            1:启动类方式:UndertowServer.start(DemoConfig.class, 8088, true);
        jetty:
          jetty-server 依赖的 scope 为 provided,仅用于开发阶段,部署时不需要,打包时也会自动跳过。
          这里特别注意一下:如果是使用 IDEA 开发,scope 仍然得设置成为 compile,
          否则提示缺少 jar 包,在打包的时候记得要改回 provided,避免打进一些不需要的 jar 包
            1:启动类方式: JFinal.start("jfinal_demo_web/src/main/webapp", 7000, "/", 5);
        tomcat:
            <packaging>war</packaging>
            1:启动类方式: JFinal.start("jfinal_demo_web/src/main/webapp", 7000, "/", 5);
    -->
    <!--<dependency>
      <groupId>com.jfinal</groupId>
      <artifactId>jfinal-undertow</artifactId>
      <version>1.4</version>
    </dependency>-->

    <!--jetty
      jetty-server 依赖的 scope 为 provided,仅用于开发阶段,部署时不需要,打包时也会自动跳过。
   这里特别注意一下:如果是使用 IDEA 开发,scope 仍然得设置成为 compile,
   否则提示缺少 jar 包,在打包的时候记得要改回 provided,避免打进一些不需要的 jar 包
      演示采用jetty服务器进行操作
   -->
    <dependency>
      <groupId>com.jfinal</groupId>
      <artifactId>jetty-server</artifactId>
      <version>2018.11</version>
      <!--<scope>provided</scope>-->
      <scope>compile</scope>
    </dependency>


    <dependency>
      <groupId>com.jfinal</groupId>
      <artifactId>jfinal</artifactId>
      <version>3.5</version>
    </dependency>

  </dependencies>

  <build>
    <finalName>jfinal_demo_web</finalName>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <version>2.2</version>
        <executions>
          <execution>
            <id>copy-dependencies</id>
            <phase>package</phase>
            <goals>
              <goal>copy-dependencies</goal>
            </goals>
            <configuration>
              <outputDirectory>../distribution/proxy-client-${project.version}/lib</outputDirectory>
              <overWriteReleases>false</overWriteReleases>
              <overWriteSnapshots>false</overWriteSnapshots>
              <overWriteIfNewer>true</overWriteIfNewer>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

 第三步:配置全局类 demoConfig 和web.xml

    web.xml

      

    democonfig:

      

  第四步:启动测试:  http://localhost:7000/hello

    

    


  undertow  |   jetty   |  tomcat  服务器对比:

  请参考:https://www.cnblogs.com/maybo/p/7784687.html

  关于怎么是jfinal和上述三个服务器的整合步骤请继续往下看:

  undertow整合步骤:

    第一步:引入jar包:

      

<dependency>
      <groupId>com.jfinal</groupId>
      <artifactId>jfinal-undertow</artifactId>
      <version>1.4</version>
 </dependency>

    第二步:启动类上启动方式: 

UndertowServer.start(DemoConfig.class, 8088, true);

    第三步:启动测试:

  

  看到控制台打印出这句代表是undertow服务器启动的项目

  

  jetty启动:

    第一步,引入jar包

  

<!--jetty
      jetty-server 依赖的 scope 为 provided,仅用于开发阶段,部署时不需要,打包时也会自动跳过。
   这里特别注意一下:如果是使用 IDEA 开发,scope 仍然得设置成为 compile,
   否则提示缺少 jar 包,在打包的时候记得要改回 provided,避免打进一些不需要的 jar 包
      演示采用jetty服务器进行操作
   -->
    <dependency>
      <groupId>com.jfinal</groupId>
      <artifactId>jetty-server</artifactId>
      <version>2018.11</version>
      <!--<scope>provided</scope>-->
      <scope>compile</scope>
    </dependency>

 

    第二步:启动类设置

        JFinal.start("jfinal_demo_web/src/main/webapp", 7000, "/", 5);

 

    第三步:测试

 

   tomcat更简单:

    去除依赖jar的影响,jetty,  undertow这两个相关依赖去除,

    打包方式改为war

    <packaging>war</packaging>

    执行mvn clean package   把生成的war包放入tomcat即可

  


 

posted @ 2019-01-08 13:52 阳602 阅读( ...) 评论( ...) 编辑 收藏
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值