非maven方式jetty-server下的JFinal开发

2024-04-16 05:58

本文主要是介绍非maven方式jetty-server下的JFinal开发,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

非maven方式jetty-server下的JFinal开发

1.创建Dynamic Web Project

注意:Target runtime 一定要选择<None>

2.修改Default Output Folder,

推荐:输入WebRoot\WEB-INF\classes

特别注意:此处的Default out folder必须要与WebRoot\WEB-INF\classes目录完全一致才可以使用JFinal集成的Jetty来启动项目。

3.修改Content directory,推荐输入WebRoot(与上一步对应)

勾选Generate web.xml deployment descriptor

4.放入JFinal库文件

将 jfinal-4.3.jar 与 jetty-server-2019.3.jar 拷贝至项目WEB-INF\lib下即可。

注意:jetty-server-2019.3.jar是开发时使用的运行环境,生产环境不需要此文件。

5.修改web.xml

将如下内容添加至web.xml

<web-app>

<filter>

<filter-name>jfinal</filter-name>

<filter-class>com.jfinal.core.JFinalFilter</filter-class>

<init-param>

<param-name>configClass</param-name>

<param-value>demo.DemoConfig</param-value>

</init-param>

</filter>

<filter-mapping>

<filter-name>jfinal</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

</web-app>

6.添加java文件

在项目src目录下创建demo包,并在demo包下创建DemoConfig文件,内容如下:

package demo;

import com.jfinal.config.*;

public class DemoConfig extends JFinalConfig {

public void configConstant(Constants me) {

me.setDevMode(true);

}

public void configRoute(Routes me) {

me.add("/hello", HelloController.class);

}

public void configEngine(Engine me) {}

public void configPlugin(Plugins me) {}

public void configInterceptor(Interceptors me) {}

public void configHandler(Handlers me) {}

}

注意:DemoConfig.java文件所在的包以及自身文件名必须与web.xml中的param-value标签内的配置相一致

(在本例中该配置为demo.DemoConfig)。

在demo包下创建HelloController类文件,内容如下:

package demo;

import com.jfinal.core.Controller;

public class HelloController extends Controller {

public void index() {

renderText("Hello JFinal World.");

}

}

7.启动项目

(1)Debug As启动

右键点击Java Application并选择New菜单项,新建Java Application启动项;

在右侧窗口中的Main class输入框中填入: com.jfinal.core.JFinal并点击Debug按钮启动项目;

(2)main方法启动集成的jetty

在任意一个类文件中添加一个main方法

import com.jfinal.core.JFinal;

public static void main(String[] args) {

JFinal.start("WebRoot", 8000, "/", 5);

}

比如:在DemoConfig文件中添加

上面代码的第一个参数 DemoConfig 是继承自 JFinalConfig 的配置入口类,第二个参数是端口号,第三个参数是 devMode。

8.开启浏览器看效果

打开浏览器在地址栏中输入: http://localhost:8000/hello,输出内容为Hello JFinal World证明项目框架搭建完成。

注意:在tomcat下开发或运行项目时,需要先删除 jetty-server-xxx.jar这个包,否则会引起冲突。Tomcat启动项目不能使用上面介绍的启动方式,因为上面的启动方式需要用到 jetty-server-xxx.jar。

这篇关于非maven方式jetty-server下的JFinal开发的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/907953

相关文章

Java AOP面向切面编程的概念和实现方式

《JavaAOP面向切面编程的概念和实现方式》AOP是面向切面编程,通过动态代理将横切关注点(如日志、事务)与核心业务逻辑分离,提升代码复用性和可维护性,本文给大家介绍JavaAOP面向切面编程的概... 目录一、AOP 是什么?二、AOP 的核心概念与实现方式核心概念实现方式三、Spring AOP 的关

一文详解Python如何开发游戏

《一文详解Python如何开发游戏》Python是一种非常流行的编程语言,也可以用来开发游戏模组,:本文主要介绍Python如何开发游戏的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录一、python简介二、Python 开发 2D 游戏的优劣势优势缺点三、Python 开发 3D

Linux挂载linux/Windows共享目录实现方式

《Linux挂载linux/Windows共享目录实现方式》:本文主要介绍Linux挂载linux/Windows共享目录实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录文件共享协议linux环境作为服务端(NFS)在服务器端安装 NFS创建要共享的目录修改 NFS 配

基于Python开发Windows自动更新控制工具

《基于Python开发Windows自动更新控制工具》在当今数字化时代,操作系统更新已成为计算机维护的重要组成部分,本文介绍一款基于Python和PyQt5的Windows自动更新控制工具,有需要的可... 目录设计原理与技术实现系统架构概述数学建模工具界面完整代码实现技术深度分析多层级控制理论服务层控制注

Vue3视频播放组件 vue3-video-play使用方式

《Vue3视频播放组件vue3-video-play使用方式》vue3-video-play是Vue3的视频播放组件,基于原生video标签开发,支持MP4和HLS流,提供全局/局部引入方式,可监听... 目录一、安装二、全局引入三、局部引入四、基本使用五、事件监听六、播放 HLS 流七、更多功能总结在 v

Java发送SNMP至交换机获取交换机状态实现方式

《Java发送SNMP至交换机获取交换机状态实现方式》文章介绍使用SNMP4J库(2.7.0)通过RCF1213-MIB协议获取交换机单/多路状态,需开启SNMP支持,重点对比SNMPv1、v2c、v... 目录交换机协议SNMP库获取交换机单路状态获取交换机多路状态总结交换机协议这里使用的交换机协议为常

k8s admin用户生成token方式

《k8sadmin用户生成token方式》用户使用Kubernetes1.28创建admin命名空间并部署,通过ClusterRoleBinding为jenkins用户授权集群级权限,生成并获取其t... 目录k8s admin用户生成token创建一个admin的命名空间查看k8s namespace 的

uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)

《uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)》在uni-app开发中,文件上传和图片处理是很常见的需求,但也经常会遇到各种问题,下面:本文主要介绍uni-app小程序项目中实... 目录方式一:使用<canvas>实现图片压缩(推荐,兼容性好)示例代码(小程序平台):方式二:使用uni

Java中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例解析

《Java中的分布式系统开发基于Zookeeper与Dubbo的应用案例解析》本文将通过实际案例,带你走进基于Zookeeper与Dubbo的分布式系统开发,本文通过实例代码给大家介绍的非常详... 目录Java 中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例一、分布式系统中的挑战二

Pandas处理缺失数据的方式汇总

《Pandas处理缺失数据的方式汇总》许多教程中的数据与现实世界中的数据有很大不同,现实世界中的数据很少是干净且同质的,本文我们将讨论处理缺失数据的一些常规注意事项,了解Pandas如何表示缺失数据,... 目录缺失数据约定的权衡Pandas 中的缺失数据None 作为哨兵值NaN:缺失的数值数据Panda