一个超小型的MVC框架(基于Servlet3),在依赖的Hutool中对ORM部分做了强化,现在为一个完整的MVC框架。
现在Hulu MVC框架已经上传至Maven中央库,你可以在pom.xml中加入以下信息引入项目依赖包。
<dependency> <groupId>com.xiaoleilu</groupId> <artifactId>hulu</artifactId> <version>X.X.X</version> </dependency>
在src/main/resources/config/
下加入Hulu.setting文件,这个是Hulu框架的配置文件,配置内容请见https://github.com/looly/hulu/blob/master/doc/config/hulu-example.setting
按理说Servlet3之后不再需要web.xml,不过一些设置依旧需要这个文件,并且Hulu必须使用Servlet3做为其基础,在/src/main/webapp/WEB-INF/
下放入web.xml文件,内容如下:
<?xml version="1.0" encoding="utf-8"?> <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> </web-app>
注:在Maven web项目中,必须有这个web.xml文件才会被认为是一个web项目。
在Hulu.setting
中action.package
设置好需要扫描的包路径(这里设置的包会被识别为Action类,用于处理用户请求的逻辑),如果你设置了action.suffix
,那只会扫描指定后缀的逻辑处理类。
假如你的Action类叫做UserAction(扫描包后缀为Action),里面有个无参的public方法叫做create,那你请求/user/create
时就会调用这个方法。在这个方法中你便可以使用Request
类提取请求的参数,使用Response
类设置响应的头和Cookie,使用Render
返回内容给客户端。
项目写完后你可以使用mvn package
命令打包项目并放入Servlet容器中运行,如果是测试项目功能,只需在pom.xml中引入Tomcat7插件既可使用mvn tomcat7:run
测试运行。
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
</plugin>
</plugins>
<finalName>huludemo</finalName>
</build>
具体使用请见项目演示。
中央电视台在布局新媒体上迈出了重大一步。在历经1年多的正式和坊间的频繁“吹风”之后,2009年12月28日,国家网络电视台(CNTV)正式上线。国家网络电视台和央视国际也是“一个机构、两块牌子”。 早在2008年就盛传央视此前收购的TVKOO团队在基于此前的客户端CCTVBOX基础上研发网络电视,而坊间盛传央视在网络电视台的投入已经超过2亿人民币。 其后第二天,央视网副总经理夏晓晖介绍国家
这篇帖子主要以流水账的形式记录一下自己整个春招找实习的过程。注意,有些网址需要 网上学科 (倒过来看)才能打开。 另外,我根据网上各类面经博客以及自己的经验总结了面试八股文,不妨分享给大家作参考,点击CS 面试题目总结即可查看。 外企 Google Google 招聘网址点这里 微信公众号:Google 招聘包打听 面试类型:视频面试 面试轮次:2 轮 面试工具:BlueJeans(面试前 rec
我们在WebLogic11g下使用JSF2.1+PrimeFaces6.0+PrimeFaces-Extensions6.0.0、mojarra 2.1.7。 单击p:commandButton后,DOM inspector显示对话框已在正文和html标记之外创建,如下一个图像所示: 在正文外部呈现的对话框 如果我们使用相同的代码(没有帧)创建一个新的.xhtml,并单击p:commandButt
许多的 PHP 开发者都使用框架,而不是重新造轮子来构建 Web 应用。框架抽象了许多底层常用的逻辑,并提供了有益又简便的方法來完成常见的任务。 你并不一定要在每个项目中都使用框架。有时候原生的 PHP 才是正确的选择,但如果你需要一个框架,那么有如下三种主要类型: 微型框架 全栈框架 组件框架 微型框架基本上是一个封装的路由,用来转发 HTTP 请求至一个闭包,控制器,或方法等等,尽可能地加快开
主要内容:iframe - 设置高度与宽度,实例,iframe - 移除边框,实例,使用 iframe 来显示目标链接页面,实例,HTML iframe 标签通过使用框架,你可以在同一个浏览器窗口中显示不止一个页面。 iframe语法: 该URL指向不同的网页。 iframe - 设置高度与宽度 height 和 width 属性用来定义iframe标签的高度与宽度。 属性默认以像素为单位, 但是你可以指定其按比例显示 (如:"80%")。 实例 <iframe loading="lazy" s
tornado.web — RequestHandler and Application classes Thread-safety notes Request handlers Entry points Input Output Cookies Other Application configuration Decorators Everything else tornado.template
UI /主题框架和组件 LESS支持下表中列出的一些UI/Theme框架 - Sr.No. 框架和描述 1 1pxdeep 它是平坦的Bootstrap 3主题,提供强大的配色方案控件。 2 Bootflat 它是一个基于Bootstrap的开源框架。 3 BootPress 它是一个基于平面文件CMS的PHP框架 4 Bootstrap 它是功能强大的移动第一前端框架,可实现更快,更轻松的Web
本章介绍 Decoder(解码器) Encoder(编码器) Codec(编解码器) 在前面的章节中,我们讨论了连接到拦截操作或数据处理链的不同方式,展示了如何使用 ChannelHandler 及其相关的类来实现几乎任何一种应用程序所需的逻辑。但正如标准架构模式通常有专门的框架,通用处理模式很适合使用目标实现,可以节省我们大量的开发时间和精力。 在这一章,我们将研究编码和解码——数据从一种特定协
WLAN框架接口 函数 rt_err_t rt_wlan_set_mode (const char *dev_name, rt_wlan_mode_t mode) 注册WLAN设备到WLAN设备框架 rt_err_t rt_wlan_connect (const char *ssid, const char *password) 同步连接热点 rt_err_t rt_wlan
通过使用框架,你可以在同一个浏览器窗口中显示不止一个页面。 iframe语法: <iframe src="URL"></iframe> 该URL指向不同的网页。 Iframe - 设置高度与宽度 height 和 width 属性用来定义iframe标签的高度与宽度。 属性默认以像素为单位, 但是你可以指定其按比例显示 (如:"80%")。 <iframe src="demo_iframe.htm