JFinal的Routes机制详解

16 篇文章 0 订阅
15 篇文章 0 订阅

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程

 

Routes表示的是JFinal框架所有的路由。可以自定义路由规则,比如利用注解的自动扫描路由器;或者自己定义前端和后端的路由器。

Routes在Config类中定义了一个空的Routes对象,这个对象在configJFinal方法中被传入configRoute方法。

 

static void configJFinal(JFinalConfig jfinalConfig) {
		jfinalConfig.configConstant(constants);				initLoggerFactory();
		<strong>jfinalConfig.configRoute(routes);</strong>
		jfinalConfig.configPlugin(plugins);					startPlugins();	// very important!!!
		jfinalConfig.configInterceptor(interceptors);
		jfinalConfig.configHandler(handlers);
	}

configJFinal方法在JFinal的init方法中被调用

 

 

<pre name="code" class="html">boolean init(JFinalConfig jfinalConfig, ServletContext servletContext) {
		this.servletContext = servletContext;
		this.contextPath = servletContext.getContextPath();
		
		initPathUtil();
		
		<strong>Config.configJFinal(jfinalConfig);	// start plugin and init logger factory in this method</strong>
		constants = Config.getConstants();
		
		initActionMapping();
		initHandler();
		initRender();
		initOreillyCos();
		initTokenManager();
		
		return true;
	}

 

 

 

 

而这个JFinalConfig就是我们需要继承的抽象类,它有个方法就是

 

 

public abstract void configRoute(Routes me);

我们在我们的继承类中可以调用Routes的

public Routes add(String controllerkey, Class<? extends Controller> controllerClass) {

方法添加路由,也可以调用

public Routes add(Routes routes) {

添加我们自己的路由器,该方法中,首先会调用我们路由器的config(这是个抽象方法)方法,这样我们就能配置好我们的路由规则。

public Routes add(Routes routes) {
		if (routes != null) {
			<strong>routes.config();	// very important!!!
			map.putAll(routes.map);
			viewPathMap.putAll(routes.viewPathMap);</strong>
		}
		return this;
	}

在config方法中,我们可以调用

public Routes add(String controllerkey, Class<? extends Controller> controllerClass) {

等方法配置路由,这个路由从哪儿来,当然就是我们的事儿了。

 

 

下面以AutoBindRoutes为例,剖析一下。

在public class Config extends JFinalConfig{的

public abstract void configRoute(Routes me);

方法中,me.add(new AutoBindRoutes());可以配置路由器。

 

而AutoBindRoutes 的主要代码为:

 

public class AutoBindRoutes extends Routes

public void config()
{
	<strong> List controllerClasses = ClassSearcher.of(Controller.class).includeAllJarsInLib(this.includeAllJarsInLib).injars(this.includeJars).search();</strong>

	ControllerBind controllerBind = null;
	for (Class controller : controllerClasses)
				controllerBind = (ControllerBind)controller.getAnnotation(ControllerBind.class);
				。。。
						<strong>add(controllerKey(controller), controller);</strong>

还有些其他的方法可以添加一些包、排除某些类或者包


配置好路由之后,JFinal就知道所有的controllerKey和Controller之间的映射关系。
 

 



 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: "show ip routes"命令是Cisco路由器上常用的命令之一,用于查看路由表。路由表记录了路由器如何将数据包转发到网络中的其他设备。 路由表由若干条路由记录组成,每条记录由下面几个部分组成: - 目的地址: 表示数据包要到达的网络地址。 - 网络掩码: 用于确定目的地址属于哪个网络。 - 下一跳地址: 表示数据包应该转发到哪个设备。 - 接口: 表示数据包应该从哪个接口出去。 - 距离: 表示到达目的地址所需的跳数。 当路由器收到一个数据包时,它会查询路由表,找到一条匹配目的地址的记录,并按照记录中的信息转发数据包。如果没有找到匹配的记录,则说明无法到达目的地址。 使用"show ip routes"命令可以查看路由器上当前的路由表,这样可以了解路由器如何转发数据包,并帮助诊断网络问题。 ### 回答2: show ip route命令是一个非常重要且常用的路由命令,它用于查看路由表并了解网络拓扑结构。该命令的主要作用是显示已经学习到的静态路由和动态路由的详细信息。 在Cisco设备中,路由表是一个非常重要的组成部分,它决定了设备如何将数据包发送到目标网络或主机。而show ip route命令可以显示路由表中所有的相关信息,帮助用户更好地理解和管理网络。 路由表中有两种类型的路由,即静态路由和动态路由。静态路由是管理员手动配置的路由,而动态路由是设备自动学习的路由。当设备在网络中取得动态路由信息后,就能够建立到达目标网络的路径。 show ip route命令可以显示以下信息: 1. 目标网络的地址和掩码。 2. 下一跳设备的IP地址或出接口。 3. 路由的类型(静态路由或动态路由)。 4. 路由的度量值(表示路由的跳数或延迟)。 5. 路由的优先级(由高到低决定哪个路由条目将被选中)。 6. 生命周期和有效性(显示路由信息时,显示多久将被删除)。 下面是几个常用的show ip route命令: - show ip route: 显示路由表中的所有路由信息。 - show ip route <目标网络地址>: 显示特定目标网络的路由信息。 - show ip route static: 显示所有静态路由的路由表。 - show ip route ospf: 显示所有 OSPF 学习到的路由信息。 - show ip route bgp: 显示所有 BGP 学习到的路由信息。 总之,show ip route命令是网络管理和维护中最常用的命令之一。通过使用该命令,管理员可以快速查找路由表信息、解决网络故障、优化网络流量和监视网络拓扑。 ### 回答3: show ip routes是一个用于获取路由表的命令,它可以帮助我们了解当前网络中的路由情况。在计算机网络中,路由表是一个非常重要的组件,它用于指导数据包在网络中的传输路径。通过查看路由表,我们可以了解网络拓扑结构,了解网络中各个设备之间的通信方式,也可以对网络进行优化和排错。 当我们输入show ip routes命令时,路由器会显示出所有已经配置好的路由信息。路由信息通常由以下几个部分组成: 目的网络:表示该路由信息所涉及的网络地址。 子网掩码:用于指示目的网络的特定范围,通常是255.255.255.0或其他掩码值。 下一跳:表示数据包应该通过哪个接口进行转发,通常是路由器或网关的IP地址。 开销:指路由器转发数据包到目的网络所需的代价。 接口:指路由器所使用的接口,即出口接口。 总结一下,show ip routes命令提供了详细的路由表信息,其中包括每条路由信息所涉及的目的网络、子网掩码、下一跳、开销和接口等。这些信息对于网络管理员来说都是非常重要的,它们可以帮助管理员进行网络优化和故障排除。掌握show ip routes命令操作方法,可以让管理员更好地了解网络,从而更好地维护网络的稳定性和安全性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值