一步一步写一个java web开发框架(1)

博主因不满SSH框架配置繁琐,决定从Struts2的filter思想出发,逐步构建个人化的JavaWeb开发框架,旨在简化配置,提升开发效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

自从用过ssh后,不得不承认用起来很不爽,配置过多。虽然后来又出了许多注解版,总感觉用的不是那么顺手,于是就想一点一点的写一个自己的开发框架。不求完美,只要简单易用。

Struts2是使用比较简单的一个框架,但有很多复杂的配置。那就要先把Struts2的filter思想拿过来,把web.xml的配置省略掉。

框架原理:通过扫描所有类文件,自动查找Action,然后通过匹配输入的链接,执行找到的函数,按返回值输出结果

servlet中有一个ServletContainerInitializer接口,实现后可以在项目启动时自动注册filter。

先定义一个类,实现ServletContainerInitializer接口:

public class StrutsServletContainerInitializer implements ServletContainerInitializer
{

	private static final Logger logger = Logger.getLogger(StrutsServletContainerInitializer.class);

	@Override
	public void onStartup(Set<Class<?>> arg0, ServletContext arg1) throws ServletException
	{
		// 添加context监听
		//arg1.addListener(ContextLoaderListener.class);
		// 增加filter
		arg1.addFilter("StrutsFilter", StrutsFilter.class);
		
		if (logger.isDebugEnabled())
			logger.debug("Container startup with StrutsFilter");
	}
}

然后在src/main/resource里增加,META-INF/services/javax.servlet.ServletContainerInitializer文件,文件里写入实现ServletContainerInitializer接口类的全路径,例如com.xjcy.xxxx.xxxx

这样在启动项目时,框架就会自动注册filter,然后执行filter里的init函数。

eclipse执行效果

下一节讲StrutsFilter的实现。一步一步写一个java web开发框架(2)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值