首页 文章 精选 留言 我的

精选列表

搜索[web开发框架],共10000篇文章
优秀的个人博客,低调大师

通信框架 smart-socket,web 服务器 smart-http 日常更新

更新内容 【smart-socket】VirtualBuffer 新增 wrap 接口,用于将 ByteBuffer 对象包装成 VirtualBuffer 。 【smart-socket】WriteBuffer 支持 ByteBuffer、VirtualBuffer 对象的输出。 【smart-http】升级 smart-socket 至 1.5.2。 【smart-http】解决 chunked 在 http 1.0 下的兼容性问题。 【smart-http】request 支持设置附件对象。 【smart-http】新增接口BufferOutputStream,支持 ByteBuffer、VirtualBuffer 对象的输出。 Maven smart-socket <dependency> <groupId>org.smartboot.socket</groupId> <artifactId>aio-core</artifactId> <version>1.5.2</version> </dependency> smart-http <dependency> <groupId>org.smartboot.http</groupId> <artifactId>smart-http-server</artifactId> <version>1.0.20</version> </dependency>

优秀的个人博客,低调大师

Spring Boot基础教程12-web应用开发-文件上传

一、Spring Boot 默认使用springMVC包装好的解析器进行上传 二、添加代码 <form method="POST" enctype="multipart/form-data" action="/file/upload"> 文件:<input type="file" name="roncooFile" /> <input type="submit" value="上传" /> </form> @Controller @RequestMapping(value = "/file") public class FileController { private static final Logger logger = LoggerFactory.getLogger(FileController.class); @RequestMapping(value = "upload") @ResponseBody public String upload(@RequestParam("roncooFile") MultipartFile file) { if (file.isEmpty()) { return "文件为空"; } // 获取文件名 String fileName = file.getOriginalFilename(); logger.info("上传的文件名为:" + fileName); // 获取文件的后缀名 String suffixName = fileName.substring(fileName.lastIndexOf(".")); logger.info("上传的后缀名为:" + suffixName); // 文件上传路径 String filePath = "d:/roncoo/ttt/"; // 解决中文问题,liunx下中文路径,图片显示问题 // fileName = UUID.randomUUID() + suffixName; File dest = new File(filePath + fileName); // 检测是否存在目录 if (!dest.getParentFile().exists()) { dest.getParentFile().mkdirs(); } try { file.transferTo(dest); return "上传成功"; } catch (IllegalStateException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return "上传失败"; } } 三、配置 spring.http.multipart.enabled=true #默认支持文件上传. spring.http.multipart.file-size-threshold=0 #支持文件写入磁盘. spring.http.multipart.location= # 上传文件的临时目录 spring.http.multipart.max-file-size=1Mb # 最大支持文件大小 spring.http.multipart.max-request-size=10Mb # 最大支持请求大小

优秀的个人博客,低调大师

基于hi-nginx的web开发(python篇)——路由装饰器

现在,有了起步的基本认识,现在需要一个可以媲美flask或者bottle的简洁易用的路由功能,可以用装饰器写法任意映射 URLs 到代码。 这个,并不难。首先,来一个叫做hi的模块:hi.py: 1 import re 2 3 class hi: 4 def __init__(self): 5 self.uri_map={} 6 self.uri_regex_map={} 7 8 def route(self,pattern,method): 9 def wrapper_a(func): 10 self.uri_map[pattern]={'method':method,'callback':func} 11 self.uri_regex_map[pattern]=re.compile(pattern) 12 def wrapper_b(req,res,param): 13 func(req,res,param) 14 return wrapper_b 15 return wrapper_a 16 17 def run(self,req,res): 18 for k,v in self.uri_map.items(): 19 if req.method() in v['method']: 20 m=self.uri_regex_map[k].match(req.uri()) 21 if m: 22 v['callback'](req,res,m.groupdict()) 23 break 把它和index.py放在同一个目录中。以下就是使用路由装饰器后的新代码: 1 import sys 2 sys.path.append('/usr/local/nginx/python') 3 4 from hi import hi 5 app =hi() 6 7 @app.route(r'^/test/?$',['GET','POST']) 8 @app.route(r"^/$",['GET']) 9 def hello_world(req,res,param): 10 res.header('Content-Type','text/plain;charset=utf-8') 11 res.content('hello,world') 12 res.status(200) 13 14 @app.route(r"^/client/?$",['GET','POST']) 15 def client(req,res,param): 16 res.content('{}<br>{}<br>{}<br>{}<br>{}'.format(req.client(),req.method(),req.uri(),req.user_agent(),req.param())) 17 res.status(200) 18 19 @app.route(r"^/hello/(?P<who>\w+)?$",['GET']) 20 def hello(req,res,param): 21 res.content('{}={}'.format('who',param['who'])) 22 res.status(200) 23 24 25 26 if __name__ == '__main__': 27 app.run(hi_req,hi_res) 是不是跟些flask或者bottle一样简单?而且还快得多喔! 访问http://localhost:8080/,http://localhost:8080/client?a=90,http://localhost:8080/hello/cnblogs即可查看结果。 当然,也可以先安装hi.py:https://github.com/webcpp/hi.py 这样的话,上面代码的第1,2行就可以免了。

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册