基于jdk自带httpserver开发的最小完整MVC框架
2021-05-05 23:27
阅读:474
YPE html>
标签:配置 时间 ali 框架 charset mode stat code vat
基于jdk自带httpserver开发的最小完整MVC框架
410kb级的完整MVC:solon(83k) + jdkhttp(27k) + enjoy(227k) + snack3(73k)
DEMO启动时间:0.1s
- solon 是一个插件框架,提供MVC,IOC,AOP,注解,插件机制。
- jdkhttp 基于jdk8自带com.sun.net.httpserver封装而成,有完整的http功能。
- snack3 提供json和序列化支持,也足够小。
- enjoy 很难再找到比它更小的模板引擎了,还快得让人想哭。
(一)新建一个 maven 空项目
(二)添加 maven 引用
org.noear
solon.boot.jdkhttp
1.0.4 org.noear
solon.serialization.snack3
1.0.4 org.noear
solon.view.enjoy
1.0.4
(三)添加文件
- java/webapp/controller/HelloworldController.java
- java/webapp/controller/HomeController.java
- java/webapp/model/UserModel.java
- java/webapp/widget/FooterTag.java
- java/webapp/JdkApp.java
- resources/static/jinjin.htm
- resources/WEB-INF/view/helloworld.shtm
- //不用配置
补充说明:
//资源路径说明(不用配置)
resources/application.properties(或 application.yml) 为应用配置文件
resources/static/ 为静态文件根目标
resources/WEB-INF/view/ 为视图文件根目标(支持多视图共存)
//模板调试模式(或加热加载模式):
启动参数添加:-deubg=1
(四)代码
- webapp/JdkApp.java
public class JdkApp {
public static void main(String[] args) {
XApp.start(JdkApp.class, args);
}
}
- webapp/widget/FooterTag.java
@XBean("view:footer")
public class FooterTag extends Directive {
@Override
public void exec(Env env, Scope scope, Writer writer) {
StringBuffer sb = new StringBuffer();
sb.append("");
try {
writer.write(sb.toString());
}catch (Exception ex){
ex.printStackTrace();
}
}
}
- webapp/model/UserModel.java
@Data
public class UserModel {
private long id;
private String name;
private int sex;
private String label;
}
- webapp/controller/HomeController.java
@XController
public class HomeController {
@XMapping(value = "/", produces = "text/html;charset=utf-8")
public String home(){
return "/helloworld";
}
}
- webapp/controller/HelloworldController.java
@XController
public class HelloworldController {
@XMapping("/helloworld")
public Object helloworld(){
UserModel m = new UserModel();
m.setId(10);
m.setName("刘之西东");
m.setSex(1);
ModelAndView vm = new ModelAndView("helloworld.shtm");
vm.put("title","demo");
vm.put("message","hello world!");
vm.put("m",m);
return vm;
}
}
- resources/WEB-INF/view/helloworld.shtm
#(title)
#(m.name) : #(message) (我想静静)
#footer()
(五)运行 JdkApp.main()
- 浏览器打开:http://localhost:8080/
- 浏览器输出:/helloworld
(六)DEMO源码
源码:demo11.solon_jdk_http_mvc
基于jdk自带httpserver开发的最小完整MVC框架
标签:配置 时间 ali 框架 charset mode stat code vat
原文地址:https://www.cnblogs.com/noear/p/12103742.html
文章来自:搜素材网的编程语言模块,转载请注明文章出处。
文章标题:基于jdk自带httpserver开发的最小完整MVC框架
文章链接:http://soscw.com/index.php/essay/82948.html
文章标题:基于jdk自带httpserver开发的最小完整MVC框架
文章链接:http://soscw.com/index.php/essay/82948.html
评论
亲,登录后才可以留言!