框架没有优劣,只有适合不适合.
作为我这样的背景:
1对Servlet规范比较了解
2对于Java语言比较熟悉
3对于标签库可以自定义
4对于JSTL也能熟练应用
5对于请求到POJO对象的自动封装能够代码实现
到底需要什么样的一个框架呢?
我觉得越简单越好,简单到JavaBean+Servlet+Jsp
上述模式的问题在于什么呢?
配置太多,几乎一个逻辑对应一个Servlet
于是可以创建一个DispatcherServlet,
里面可以有多个方法,对于不同的请求URL自动调用不同的方法
类似于Struts的DispatcherAction
但是即使这样,由于不同的逻辑通常是按照业务分组的,这样通常也得一个业务对应一个Servlet
还是配置比较麻烦,于是便要学着Struts,由一个Servlet进行请求分发的统筹管理
这样子呢,咋一看不就演化成了Strtus了么?
其实不然,Struts配置太复杂,一个action里面有多个方法的话,还需要传递一个参数进行区分
我需要的理想的状态是,写好一个类
不需要过多的配置就能直接将请求路径映射到当前类的方法上
例如
public class LoginAction {
public String login(HttpServletRequest request, HttpServletResponse response) {
return "login";
}
public String logout(HttpServletRequest request, HttpServletResponse response) {
return "welcome";
}
}
当我请求/loginaction/login时,将自动调用LoginAction.login()方法
而请求/loginaction/logout时,自动调用LoginAction.logout()方法
这样完全免配置不好么?
什么,需要指定不同的url路径?不想将方法名暴露给客户?不同的请求URL想调用相同的处理方法?
这样的话,我们可以使用注解进行覆盖默认行为
@RequestURL({"/loginaction","logoutaction"})
public class LoginAction {
@RequestMethod({"login","ohtersname"})
public String login(HttpServletRequest request, HttpServletResponse response) {
return "login";
}
@RequestMethod({"logout","ohtersname"})
public String logout(HttpServletRequest request, HttpServletResponse response) {
return "welcome";
}
}
通过以上方法我们不但可以改变默认的映射,还可以指定多个映射,同时避免了使用
XxxAction.action?method=login之类的参数形式,因为这样,和业务相关的参数就不能包含method字段
这样对于action的配置就无比简单了
<actions>
<action class=""/>
<action class=""/>
</actions>
当前,启动了自动扫描程序,并且指定匹配模式,那么连action都不需要配置了
例如,classPattern="com.nianien.*.*Action";
那么自动获取com.nianein包以及子包下面的所有以Action结尾的类,自动创建映射,这是多么简单啊~
当前,我们还可以同样的方法实现拦截器的免配置,实现返回结果的自动映射.
去繁从简,拒绝冗余的配置,提高开发效率,有没有人有过我类似的想法?
分享到:
相关推荐
然后基于传统 Servlet 框架搭建一款轻量级 Java Web 框架,一切都是从零开始,逐个实现类加载器、Bean容器、IoC框架、MVC框架,所涉及的代码也是整个框架的核心基础。为了使框架具备AOP特性,从代理技术讲到 AOP ...
《架构探险-从零开始写Java Web框架》是一本深入探讨Java Web开发的书籍,作者黄勇通过本书向读者展示了如何从零构建一个完整的Web框架。全书源码的提供,使得读者能够更加直观地理解并实践书中的理论知识,这对于...
基于Step的Java Web框架设计与实现.pdf 本文主要介绍了基于Step的Java Web框架的设计与实现。该框架采用MVC和软件流程化设计理念,将业务逻辑操作分解成最小粒度的Step流,并将其装配成供前台调用的功能模块Action...
在本教程中,我们将深入探讨如何使用Java实现一个简单的Web服务器,无需依赖任何特定的框架。这个过程将涉及几个核心的Java技术,包括文件的读取、XML文件解析、反射、文件流以及对象序列化。下面,让我们逐一展开...
基于Java Web框架的简易用户管理系统 内容概要 本项目是一个基于Java Web框架开发的简易用户管理系统,主要功能包括用户的增删改查(CRUD)操作。项目使用了Java Servlet作为后端控制器,通过DAO层与数据库进行...
在本Java Web案例实践中,我们将深入探讨如何利用Spring、Spring MVC和Hibernate这三大核心框架来构建高效、可扩展的Web应用程序。Spring作为一个全面的后端开发框架,提供了依赖注入(DI)和面向切面编程(AOP)等...
myframe框架是一种简易的Java Web框架,其核心设计理念在于简化Java Web项目的开发流程。在当今的软件开发领域,各种框架层出不穷,而myframe却试图在不牺牲功能的前提下,采用最少的jar包来实现其核心功能。这种...
轻量级Java Web框架是专为简化Web应用开发而设计的一种高效、低侵入式的工具。这类框架通常比重量级的Java EE应用服务器更轻便,它们不依赖大型容器,而是提供基本的功能来帮助开发者快速构建Web应用。本文将深入...
1. **Java Web技术**:Java Web是指使用Java语言开发的Web应用程序,主要基于Java Servlet、JSP(JavaServer Pages)和JSTL(JavaServer Pages Standard Tag Library)等技术。这些项目可能还涉及到Java的MVC(Model...
本示例"java web接口开发demo"可能是提供了一个简单的Java Web接口的实现,帮助开发者理解如何构建和使用这样的接口。 首先,让我们了解一下Servlet,它是Java Web应用的核心组件之一,用于接收HTTP请求并返回响应...
java vue项目 用Websocket实现简单的会议 部分源码已上传,文件编辑建议用yarn install运行 使用 npm install运行可能会出问题
《轻量级Java Web框架——智能框架Smart-Framework深度解析》 在当今互联网技术日新月异的时代,Java Web开发领域涌现出了众多优秀的框架,它们为开发者提供了强大的工具,极大地提高了开发效率。其中,轻量级Java ...
使用Java作为编程语言来实现RESTful Web框架具有一定的优势,Java作为一种成熟的编程语言,拥有庞大的开发者社区和丰富的第三方库支持,这使得基于Java的框架能够更加稳定和高效。同时,Java的跨平台特性也使得该...
Java后台框架集合是开发高效、稳定且可扩展的后端应用程序的重要工具箱。SpringMVC、Redis和Quartz是其中的三个关键组件,它们分别在不同的层面上为开发者提供了强大的支持。 SpringMVC是Spring框架的一个模块,...
描述中提到,这个购物商城项目是“适合毕业设计,小型项目参考”,意味着它具有一定的教学价值和实用性,可以作为学习Java Web开发的实战案例,同时也适用于那些需要快速搭建一个简单电商系统的学生或团队。...
总结来说,Java Web三层架构的配置涉及到多个层面,从表现层的请求映射到业务逻辑层的服务定义,再到数据访问层的数据库配置。理解并正确配置这些元素对于开发出高效、稳定且易于维护的Java Web应用至关重要。初学者...
【标题】"java+Web审批流程.rar"是一个包含基于Java技术构建的Web应用程序,用于实现会议管理和办公用品审批流程的系统。这个系统的核心是利用Java技术来处理业务逻辑,通过Web界面提供用户交互,便于审批流程的线上...
Java Web开发领域中,框架的应用是必不可少的,它们极大地提高了开发效率并简化了代码结构。本合集包含了一些最流行的框架实例:Spring、SpringMVC、MyBatis、Struts2以及Hibernate。以下是对这些框架的详细介绍: ...
Java繁简转换工具类是Java编程语言中用于处理文本繁简体转换的一种实用程序。在开发涉及中文内容的应用时,这种工具类非常有用,尤其是在需要处理不同地区用户输入或者显示内容时,例如中国大陆通常使用简体中文,而...
Java框架是Java开发中的核心工具,它们为开发者提供了一套预定义的结构和模式,使得在构建复杂的Web应用、企业级应用或者桌面应用时能够更加高效。这些框架大大简化了代码编写,提高了代码的可复用性和可维护性。本...