Java Web文件上传原理分析(不借助开源fileupload上传jar包) 博客分类: Java Web   最近在面试IBM时,面试官突然问到:如果让你自己实现一个文件上传,你的代码要如何写,不借助其他开源的文件上传jar包? 这一问,我楞了.现在开源MVC框架满天飞,大部分的框架像Struts2都会自动的把你上传的文件封装成Action的属性.几乎没有人自己去分析请求流数据,然后获取文件数据的. 总结下文件上传的几种实现: 一.像Struts2这样的框架自动将你上传的文件封装到Actio…
本文转载自Java volatile 关键字底层实现原理解析 导语 在Java多线程并发编程中,volatile关键词扮演着重要角色,它是轻量级的synchronized,在多处理器开发中保证了共享变量的"可见性"."可见性"的意思是当一个线程修改一个共享变量时,另外一个线程能读到这个修改的值.如果一个字段被声明为volatile,Java线程内存模型确保所有线程看到这个变量的值是一致的.与synchronized不同,volatile变量不会引起线程上下文的切换和…
第一次接触java web开发,花费了一天半的时间,写了个简单的登录页面,以此文为记. 开发工具 Eclipse Luna Release (4.4.0) 已集成maven,maven目前的体会就是管理各种依赖 jetty为maven提供的一个插件,类似tomcat struts2框架,MVC,action,jsp mysql server 5.6 开发过程 1. 新建Maven web工程 Group Id: org.apache.maven.archetypes Artifact Id: m…
CS-LogN思维导图:记录CS基础 面试题 开源地址:https://github.com/FISHers6/CS-LogN JUC 分类 线程管理 线程池相关类 Executor.Executors.ExecutorService 常用的线程池:FixedThreadPool.CachedThreadPool.ScheduledThreadPool.SingleThreadExecutor 能获取子线程的运行结果 Callable.Future.FutureTask 并发流程管理 Count…
tomcat是什么:汤姆猫?Javaweb服务器? Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache.Sun 和其他一些公司及个人共同开发而成.由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范.因为Tomcat 技术先进.性能稳定,而且免费,因而深受Java 爱好者的喜爱并得…
1Jetty的基本架构 Jetty有一个基本的数据模型,这个模式就是handle,所有拷贝拓展的组件都被当做一个handler被添加到server中,然后由jetty统一管理. 1.1Jetty基本架构简介 如图Jetty核心是由Server和Connector两个组件构成的,整个jetty是基于handle容器工作的,它类似tomcat的Connector容器; 如图,jetty还有其他一些可有可无的组件构成,可以在其上面拓展,这也是jetty受欢迎的原因吧.如JMX(Java Managem…
Servlet Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,主要功能在于交互式地浏览和修改数据,生成动态Web内容. Servlet容器 servlet容器启动过程: 在tomcat容器管理等级中,Context直接管理着Servlet在容器中的包装类Wrapper,所以Servelt容器如何运行就影响这servlet,下面就是servlet容器启动过程 Servlet容器启动时,触发servletCon…
Spring helloworld [http://wiki.jikexueyuan.com/project/spring/hello-world-example.html] HelloWorld.java package helloworld; public class HelloWorld { private String message; public void getMessage() { System.out.println("message="+this.message);…
最近面试被问及对象拷贝怎样才能高效,实际上问的就是Orika或者BeanCopier的原理.由于网上对Orika原理的解析并不太多-因此本文重点讲解一下Orika的原理.(Orika是基于JavaBean规范的属性拷贝框架,所以不了解什么是JavaBean的话请先百度) 首先,先纠正一下一些网上的错误说法,Java反射慢,所以要使用Orika基于Javasisst效率更好,我要说明的是Orika的整个流程是需要使用到Java的反射的,只是在真正拷贝的属性的时候没有使用反射.这里先简单讲解一下Or…
eclipse工程中.classpath文件含义: 下面是一个.classpath文件内容: < ?xml version="1.0" encoding="UTF-8"?> < classpath>         <!-- 源码目录 -->         <classpathentry kind="src" path="src"/>         <!-- 工程引用外…