Java EE

大家会不会通过网址访问的Servlet 实现呢?

∥☆過路亽.° 提交于 2020-12-25 08:26:09
Servlet 是 Server Applet 的缩写,是服务端小程序的意思。使用 Java 语言编写的服务器端程序,主要功能在于交互式地浏览和生成数据,生成动态Web内容,Servlet 主要运行在服务器端,并由服务器调用执行,是一种按照 Servlet 标准来开发的类。 是 SUN 公司提供的一门用于开发动态 Web 资源的技术。(言外之意:要实现 web 开发,需要实现 Servlet 标准)   Servlet 本质上也是 Java 类,但要遵循 Servlet 规范进行编写,没有 main() 方法,它的创建、使用、销毁都由 Servlet 容器进行管理(如 Tomcat)。(言外之意:写自己的类,不用写 main 方法,别人自动调用)   Servlet 是和 HTTP 协议是紧密联系的,其可以处理 HTTP 协议相关的所有内容。这也是 Servlet 应用广泛的原因之一。   提供了 Servlet 功能的服务器,叫做 Servlet 容器,其常见容器有很多,如 Tomcat, Jetty, WebLogic Server, WebSphere, JBoss 等等。 Servlet实现方式 创建动态 web 项目 新建类 实现 Servlet 规范 重写 service 方法 配置 web.xml 发布项目 启动项目 访问并查看结果 案例实操 1)创建动态 web

cgb2007-京淘day04

杀马特。学长 韩版系。学妹 提交于 2020-12-25 05:18:36
1.京淘后台管理系统 1.1 Ajax总结 < % @ page language = "java" contentType = "text/html; charset=utf-8" pageEncoding = "utf-8" % > < % @ taglib uri = "http://java.sun.com/jsp/jstl/core" prefix = "c" % > < ! DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd" > < html > < head > < title > 您好Springboot < / title > < ! -- 1. 导入函数类库 -- > < script src = "../js/jquery-3.4.1.min.js" > < / script > < script type = "text/javascript" > //让JS页面加载完成,之后执行JS $ ( function ( ) { /* 需求: 利用ajax方式动态获取user数据信息 请求网址: /findAjax 知识点: 返回值类型: 可以根据数据自动匹配类型,所以可以不写. 1. $.get(url地址

还搞不定Java多线程和并发编程面试题?你可能需要这一份书单!

与世无争的帅哥 提交于 2020-12-25 03:27:53
点击蓝色“程序员书单”关注我哟 加个“星标”,每天带你读好书! ​ 在介绍本书单之前,我想先问一下各位读者,你们之前对于Java并发编程的了解有多少呢。经过了10多年的发展,Java Web从开发框架到社区都已经非常成熟,很多程序员都可以通过使用框架很快速地搭建起一个Java Web应用,特别是近几年SpringBoot大热,干脆连配置都不需要了解了,直接一键式编译部署运行,让Java工程师的入门成本变得越来越低。 但于此同时,互联网公司对于Java的应用场景也在不断地升级换代,从单机部署再到分布式,从SOA再到微服务,Java后端技术栈变得更加庞大,对于工程师的要求也越来越高,特别是对于大公司来说更是如此,也正因为如此,对Java工程师的考察已经不限于Java Web的那套东西了,企业往往会提出更高的要求,比如熟悉Java并发编程和JVM调优,了解分布式技术、微服务以及中间件等等。 而今天的这份书单就会来推荐一些关于Java并发编程的好书,对于一个Java工程师来说,我们一开始接触的其实是Java中的多线程,所以这份书单也会由浅入深依次推荐相应的书籍,从多线程基础,再到并发编程实战,最后则会推荐几本关于并发编程原理的书籍,其中也包含了对于JUC并发包的源码解析。 Java并发编程书单 ​ Java多线程编程核心技术 Java多线程是每个Java工程师都必须要掌握的知识点

聊聊前后端分离接口规范

烈酒焚心 提交于 2020-12-24 19:42:56
点击上方“ Java知音 ”,选择“置顶公众号” 技术文章第一时间送达! 作者: 猿码道 www.jianshu.com/p/c81008b68350 推 荐 阅 读 1. Java 性能优化:教你提高代码运行的效率 2. 基于token的多平台身份认证架构设计 3. Spring Boot整合JWT实现用户认证(附源码) 4. Springboot启动原理解析 1. 前言 随着互联网的高速发展,前端页面的展示、交互体验越来越灵活、炫丽,响应体验也要求越来越高,后端服务的高并发、高可用、高性能、高扩展等特性的要求也愈加苛刻,从而导致前后端研发各自专注于自己擅长的领域深耕细作。 然而带来的另一个问题:前后端的对接界面双方却关注甚少,没有任何接口约定规范情况下各自干各自的,导致我们在产品项目开发过程中,前后端的接口联调对接工作量占比在30%-50%左右,甚至会更高。往往前后端接口联调对接及系统间的联调对接都是整个产品项目研发的软肋。 本文的主要初衷就是规范约定先行,尽量避免沟通联调产生的不必要的问题,让大家身心愉快地专注于各自擅长的领域。 2. 为何要分离 参考两篇文章: http://blog.jobbole.com/65509/ http://blog.jobbole.com/56161/ 目前现有前后端开发模式:“后端为主的MVC时代”,如下图所示: 后端为主的MVC时代

分手失败,那就聊聊前后端分离接口规范~

ⅰ亾dé卋堺 提交于 2020-12-24 15:57:16
点击上方 “ IT平头哥联盟 ”, 选择“ 置顶或者星标 ” 一起进步~ 1. 前言 随着互联网的高速发展,前端页面的展示、交互体验越来越灵活、炫丽,响应体验也要求越来越高。 后端服务的高并发、高可用、高性能、高扩展等特性的要求也愈加苛刻,从而导致前后端研发各自专注于自己擅长的领域深耕细作。 然而带来的另一个问题:前后端的对接界面双方却关注甚少,没有任何接口约定规范情况下各自干各自的,导致我们在产品项目开发过程中,前后端的接口联调对接工作量占比在30%-50%左右,甚至会更高。 往往前后端接口联调对接及系统间的联调对接都是整个产品项目研发的软肋。 本文的主要初衷就是规范约定先行,尽量避免沟通联调产生的不必要的问题,让大家身心愉快地专注于各自擅长的领域。 昨天要分手的文章 : 前端:后端,我们要分手,咱两不合适 2. 为何要分离 参考两篇文章: http://blog.jobbole.com/65509/ http://blog.jobbole.com/56161/ 目前现有前后端开发模式:“后端为主的MVC时代”,如下图所示: 后端为主的MVC时代 代码可维护性得到明显好转,MVC 是个非常好的协作模式,从架构层面让开发者懂得什么代码应该写在什么地方。 为了让 View 层更简单干脆,还可以选择 Velocity、Freemaker 等模板,使得模板里写不了 Java 代码。

JavaWeb中实现文件上传的方式有哪些?

懵懂的女人 提交于 2020-12-24 15:06:08
上回我们说了下文件下载的方式有哪些,这次我们从不同的环境下简单来说说文件上传的方式有哪些。 文件上传的方式 Servlet2.5 方式 Servlet3.0 方式 SpringMVC 方式 案例实操 Servlet2.5 方式 文件上传涉及到前台页面的编写和后台服务器端代码的编写,前台发送文件,后台接收并保存文件,这才是一个完整的文件上传。 1) 前台页面 在做文件上传的时候,会有一个上传文件的界面,首先我们需要一个表单,并且表单的请求方式为 POST ;其次我们的 form 表单的 enctype 必须设为”multipart/form-data”即 enctype="multipart/form-data" 意思是设置表单的 MIME 编码。默认情况下这个编码格式是 ”application/x-www-form-urlencoded”,不能用于文件上传;只有使用了 multipart/form-data 才能完整地传递文件数据。 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>上传文件</title> </head> <body> <form action="uploadServlet" method="post" enctype="multipart/form-data"> 文件:<input type

Servlet 入门教程

落爺英雄遲暮 提交于 2020-12-24 09:34:10
Servlet 入门教程 总结 《Servlet、JSP 和 Spring MVC 初学指南》 一书。 1. HTTP 协议 HTTP 第一个版本是0.9,之后是HTTP1.0,现在是HTTP1.1,Web 服务器7x24 不间断运行,并等待HTTP客户端(浏览器)来连接并请求资源。由客户端发起请求,服务器不会主动连接客户端。 1.1 URL 和 URI 的区别 URL = host 地址 + URI,如 http://example.com/test/index.html,host 地址是http://example.com,URI 则是 /test/index.html。可以理解为URL是在互联中请求的地址,URI 则是资源路径。 1.2 HTTP 请求 一个HTTP请求包含三部分内容: ①. 方法-URI-协议/版本 ②. 请求头信息 ③. 请求正文 如下为一个具体的示例: POST example/default.jsp HTTP/1.1 Accept: text/plain; text/html Accept-Language: en-us Connection: Keep-Alive … lastName=Blanks&firstName=Mike 请求的第一行即是方法-URI-协议/版本,请求方法为post,URI 为 /example/default.jsp

Spring Security 实战干货:过滤器链的机制和特性

徘徊边缘 提交于 2020-12-24 08:02:17
1. 前言 过滤器作为 Spring Security 的重中之重,我们需要了解其中的机制。这样我们才能根据业务需求的变化进行定制。今天来探讨一下 Spring Security 中的过滤器链机制。 同时欢迎加入[ 微信圈子 ] 程序员交流圈 交流编程经验。 2. Spring Security 过滤器链 客户端(APP 和后台管理客户端)向应用程序发送请求,然后应用根据请求的 URI 的路径来确定该请求的过滤器链( Filter )以及最终的具体 Servlet 控制器( Controller )。 从上图我们可以看出 Spring Security 以一个单 Filter(FilterChainProxy) 存在于整个过滤器链中,而这个 FilterChainProxy 实际内部代理着众多的 Spring Security Filter 。这简直就是套娃啊! 2.1 过滤器链的形成过程 再多说一点 Filter 们的初始化过程,首先 Filter 们按照一定的顺序被 SecurityBuilder 的实现来组装为 SecurityFilterChain ,然后通过 WebSecurity 注入到 FilterChainProxy 中去,接着 FilterChainProxy 又在 WebSecurityConfiguration 中以

基于netty手写Tomcat

回眸只為那壹抹淺笑 提交于 2020-12-24 06:05:19
作者: MovW 原文:http://suo.im/5Ar7t8 netty 简介 Netty一个基于NIO的客户、服务器端的编程框架 1.环境准备 maven依赖 <dependency> <groupId>io.netty</groupId> <artifactId>netty-all</artifactId> <version>4.1.42.Final</version> </dependency> 12345 RequestMethodEnum 请求方式 public enum RequestMethodEnum { GET( "GET" ), POST( "POST" ); public String code; RequestMethodEnum(String code) { this.code=code; }}12345678 ParentServlet 父类servlet public abstract class ParentServlet { public void service(ParentRequest request, ParentResponse response) throws Exception { //service 方法决定调用doGet、doPost; if (RequestMethodEnum.GET.code

怎么实现web端上传超大文件,分片上传

风格不统一 提交于 2020-12-24 01:45:12
核心原理: 该项目核心就是文件分块上传。前后端要高度配合,需要双方约定好一些数据,才能完成大文件分块,我们在项目中要重点解决的以下问题。 * 如何分片; * 如何合成一个文件; * 中断了从哪个分片开始。 如何分,利用强大的js库,来减轻我们的工作,市场上已经能有关于大文件分块的轮子,虽然程序员的天性曾迫使我重新造轮子。但是因为时间的关系还有工作的关系,我只能罢休了。最后我选择了百度的WebUploader来实现前端所需。 如何合,在合之前,我们还得先解决一个问题,我们如何区分分块所属那个文件的。刚开始的时候,我是采用了前端生成了唯一uuid来做文件的标志,在每个分片请求上带上。不过后来在做秒传的时候我放弃了,采用了Md5来维护分块和文件关系。 在服务端合并文件,和记录分块的问题,在这方面其实行业已经给了很好的解决方案了。参考迅雷,你会发现,每次下载中的时候,都会有两个文件,一个文件主体,另外一个就是文件临时文件,临时文件存储着每个分块对应字节位的状态。 这些都是需要前后端密切联系才能做好,前端需要根据固定大小对文件进行分片,并且请求中要带上分片序号和大小。前端发送请求顺利到达后台后,服务器只需要按照请求数据中给的分片序号和每片分块大小(分片大小是固定且一样的)算出开始位置,与读取到的文件片段数据,写入文件即可。 为了便于开发,我 将服务端的业务逻辑进行了如下划分,分成初始化