微信公众号【Java技术江湖】一位阿里 Java 工程师的技术小站。做者黄小斜,专一 Java 相关技术:SSM、SpringBoot、MySQL、分布式、中间件、集群、Linux、网络、多线程,偶尔讲点Docker、ELK,同时也分享技术干货和学习经验,致力于Java全栈开发!html
这篇总结主要是基于我以前两个系列的文章而来。主要是把重要的知识点用本身的话说了一遍,可能会有一些错误,还望见谅和指点。谢谢java
更多详细内容能够查看个人专栏文章:
#JavaWeb技术世界git
#Spring与SpringMVC源码解析
#https://blog.csdn.net/column/details/21851.html程序员
servlet是一个接口,它的实现类有GenericServlet,而httpservlet是GenericServlet的一个子类,通常咱们都会使用这个类。web
servletconfig是用于保存servlet配置信息的数据结构,而servletcontext则负责保持servlet的上下文,web应用启动时加载web.xml信息于servletconfig中。sql
jsp页面须要编译成class文件并经过tomcat的类加载器进行加载,造成servlet实例,请求到来时实际上执行的是servlet代码,而后最终再经过viewresolver渲染成页面。数据库
filter是过滤器,也须要在web.xml中配置,是责任链式的调用,在servlet执行service方法前执行。
listener则是监听器,因为容器组件都实现了lifecycle接口,因此能够在组件上添加监听器来控制生命周期。编程
web.xml用来配置servlet和servlet的配置信息,listener和filter。也能够配置静态文件的目录等。json
waWAR包
WAR(Web Archive file)网络应用程序文件,是与平台无关的文件格式,它容许将许多文件组合成一个压缩文件。war专用在web方面 。tomcat
JAVA WEB工程,都是打成WAR包进行发布。
典型的war包内部结构以下:
webapp.war
| index.jsp
|
|— images
|— META-INF
|— WEB-INF
| web.xml // WAR包的描述文件 | |— classes | action.class // java类文件 | |— lib other.jar // 依赖的jar包 share.jar
上一篇文章关于网络编程和NIO已经讲过了,这里按住不表。
log4j是很是经常使用的日志组件,不过如今为了使用更通用的日志组件,通常使用slf4j来配置日志管理器,而后再介入日志源,好比log4j这样的日志组件。
通常咱们会使用class.forname加载数据库驱动,可是随着Spring的发展,如今通常会进行数据源DataSource这个bean的配置,bean里面填写你的数据来源信息便可,而且在实现类中能够选择支持链接池的数据源实现类,好比c3poDataSource,很是方便。
数据库链接池自己和线程池相似,就是为了不频繁创建数据库链接,保存了一部分链接并存放在集合里,通常能够用队列来存放。
除此以外,还可使用tomcat的配置文件来管理数据库链接池,只须要简单的一些配置,就可让tomcat自动管理数据库的链接池了。
应用须要使用的时候,经过jndi的方式访问便可,具体方法就是调用jndi命名服务的look方法。
单元测试是工程中必不可少的组件,maven项目在打包期间会自动运行全部单元测试。通常咱们使用junit作单元测试,统一地在test包中分别测试service和dao层,而且使用mock方法来构造假的数据,以便跳过数据库或者其余外部资源来完成测试。
maven是一个项目构建工具,基于约定大于配置的方式,规定了一个工程各个目录的用途,而且根据这些规则进行编译,测试和打包。
同时他提供了方便的包管理方式,以及快速部署的优点。
git是分布式的代码管理工具,比起svn有着分布式的优点。太过常见了,略了。
数据描述形式不一样,json更简洁。
因为jdbc方式的数据库链接和语句执行太过繁琐,重复代码太多,后来提出了jdbctemplate对数据进行bean转换。
可是仍是差强人意,因而转而出现了hibernate这类的持久化框架。能够作到数据表和bean一一映射,程序只须要操做bean就能够完成数据库的curd。
mybatis比hibernate更轻量级,mybatis支持原生sql查询,而且也可使用bean映射,同时还能够自定义地配置映射对象,更加灵活,而且在多表查询上更有优点。
一个专一于程序员修炼和成长的平台,这里有技术指南、求职攻略,也有职场经验、生活感悟,更有自我提高的方法、对成长的思考等内容。做者是一枚阿里程序员,天天和你一块儿聊聊,程序员练级之路上的那些事。