Java EE

tomcat常见面试题目问答Top10

六眼飞鱼酱① 提交于 2020-11-26 08:42:51
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,它早期的名称为catalina,后来由Apache、Sun 和其他一些公司及个人共同开发而成,并更名为Tomcat。 Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选,因为Tomcat 技术先进、性能稳定,成为目前比较流行的Web 应用服务器。面试中,tomcat也往往会涉及到。 下面抽取了一些常见的问题,进行探讨,欢迎提出更多问题或者答案。 1.什么是tomcat?    简单的说,tomcat是servlet,jsp,el,webSocket等技术的实现。 2.tomcat 6,7,8,9的有什么区别 3. tomcat有哪些组件?    4. tomcat有哪些Connector?   Tomcat的Web服务器连接器支持两种协议:AJP和HTTP,它们均定义了以二进制格式在Web服务器和Tomcat之间进行数据传输,并提供相应的控制命令。     AJP(Apache JServ Protocol)协议:目前正在使用的AJP协议的版本是通过JK和JK2连接器提供支持的AJP13

Java Web——Web概述

…衆ロ難τιáo~ 提交于 2020-11-26 08:41:47
已经很久没有更新博客了,过年忙着吃喝玩乐,就怠惰了一小下下?幸好这学期新开的课程都比较有趣——Java Web和Android。至少对于我自己来说,既充满挑战,又富有趣味。 ——【1.Web概述】—— 什么是Web? Web在计算机网页开发设计中就是网页的意思。网页是网站中的一个页面,我们平常浏览网站时,看到的都是一个一个的页面,通常它们都是 HTML 格式的。网页可以展示文字、图片、媒体等内容,而这些都是需要通过浏览器来阅读。 Web应用程序的工作原理? Web应用程序大体上可以分为两种, 静态网站 和 动态网站 。 早期的Web应用主要是静态页面的浏览,即静态网站。这些网站使用 HTML 描写,通常来说随着html代码的生成,页面的内容和显示效果就基本上不会发生变化了——除非你修改页面代码。这些代码放在Web服务器上,用户使用浏览器通过 HTTP协议 请求服务器上的Web页面,服务器上的Web服务器接受到用户的请求处理后,再发送给客户端浏览器,显示给用户。整个过程就像下图: 而动态网页则不然,页面代码虽然没有变,但是显示的内容却是可以随着时间、环境或者数据库操作的结果而发生改变的。这些网站通常使用 HTML 和 动态脚本语言(入JSP、ASP或者是PHP等) 编写,并将编写后的程序部署到Web服务器上,由Web服务器堆动态脚本代码进行处理,并转化成浏览器可以解析的 HTML

转载——java学习步骤

半城伤御伤魂 提交于 2020-11-26 08:41:33
第一步:首先要做好学习前的准备工作:java语言一般用于大型的服务器程序开发,所有有必要了解如下内容:Unix开发环境Unix系统原理、Unix开发环境、Unix常用命令。熟练掌握Unix常用命令;熟练构建下的Java开发环境。   第二步:然后进入Java语言基础的学习阶段,学习任何一门语言都要打好基础,曾经学过高级程序语言(C,C++等)来说,java语言基础有自己的特点,但是基本规律都是相通的,如:算法基础、常用数据结构、企业编程规范。掌握常见的数据结构和实用算法;培养良好的企业级编程习惯。   第三步:掌握java语言基础后接下来就是面向对象语言的共性:Java面向对象面向对象特性:封装、继承、多态等。掌握面向对象的基本原则以及在编程实践中的意义;掌握Java面向对象编程基本实现原理。   第四步:JDK核心API语言核心包、异常处理、常用工具包、集合框架。熟练掌握JDK核心API编程技术;理解API设计原则;具备熟练的阅读API文档的能力;JavaSE核心异常处理、多线程基础、IO系统、网络编程、Swing组件、JVM性能调优(JVM内存结构剖析、GC分析及调优、JVM内存参数优化)、Java泛型、JDK新特性。熟练掌握JavaSE核心内容,特别是IO和多线程;初步具备面向对象设计和编程的能力;掌握基本的JVM优化策略。XML XML语法、XML解析(SAX、DOM)

【转载】Java Web学习(四)——HTTP协议

梦想的初衷 提交于 2020-11-26 08:31:41
转载自:https://www.cnblogs.com/xdp-gacl/p/3751277.html 一、什么是HTTP协议   HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程。客户端连上web服务器后,若想获得web服务器中的某个web资源,需遵守一定的通讯格式,HTTP协议用于定义客户端与web服务器通迅的格式。 二、HTTP协议的版本   HTTP协议的版本:HTTP/1.0、HTTP/1.1 三、HTTP1.0和HTTP1.1的区别   HTTP1.0协议:客户端与web服务器建立连接后,只能获得 一个 web资源。   HTTP1.1协议:允许客户端与web服务器建立连接后,在一个连接上获取 多个 web资源。 四、HTTP请求 4.1、HTTP请求包括的内容    客户端连上服务器后,向服务器请求某个web资源,称之为客户端向服务器发送了一个HTTP请求 。 一个完整的HTTP请求包括如下内容: 一个请求行、若干消息头、以及实体内容 范例:    4.2、HTTP请求的细节——请求行   请求行中的GET称之为请求方式,请求方式有:POST、GET、HEAD、OPTIONS、DELETE、TRACE、PUT,常用的有: GET、

事务的8种传播机制

会有一股神秘感。 提交于 2020-11-26 01:55:27
Spring的事务传播机制 1.事务传播类型 新建事务 required required_new - 挂起当前 非事务方式运行 supports not_supported - 挂起当前 never 嵌套事务: nested 抛异常 mandatory never 2. PROPAGATION_REQUIRED 加入当前正要执行的事务不在另外一个事务里,那么就起一个新的事务。 3.PROPAGATION_SUPPORTS 如果当前在事务中,即以事务的形式运行,如果当前不再一个事务中,那么就以非事务的形式运行。 4.PROPAGATION_MANDATORY 必须在一个事务中运行。也就是说,他只能被一个父事务调用。否则,他就要抛出异常。 5.PROPAGATION_REQUIRES_NEW 这个就比较绕口了。 比如我们设计ServiceA.methodA的事务级别为PROPAGATION_REQUIRED,ServiceB.methodB的事务级别为PROPAGATION_REQUIRES_NEW,那么当执行到ServiceB.methodB的时候,ServiceA.methodA所在的事务就会挂起,ServiceB.methodB会起一个新的事务,等待ServiceB.methodB的事务完成以后,他才继续执行。 他与PROPAGATION_REQUIRED

上传"定时任务"获取系统权限

允我心安 提交于 2020-11-25 18:28:40
原文来自 SecIN社区 —作者:tkswifty 相关背景   文件上传是系统中比较常见的业务需求,例如上传头像、简历、报表等。但是如果在业务实现过程中没有考虑相关的安全问题(例如没有对用户上传的文件类型做校验或者校验不充分,导致用户可以上传恶意脚本到服务器)便会导致相关的风险。   Java文件类File以抽象的方式代表文件名和目录路径名。该类主要用于文件和目录的创建、文件的查找和文件的删除等。   一般新建文件是通过将给定路径名字符串转换成抽象路径名来创建一个新File实例: File file = new File("path")   使用File创建文件时,若路径处path写入…/…/穿越符号,是可以跨目录新建文件的:   看一个例子,下面是通过引入…/…/穿越符进行跨目录在上级目录Desktop创建文件:   结合该特点,结合特定的利用场景可以完成相关的权限获取操作。例如: linux写入定时任务、ssh公钥 windows写入自启动脚本、恶意dll … 挖掘过程   一般针对文件上传业务,主要判断是否有检查后缀名,同时要查看配置文件是否有设置白名单或者黑名单,如果没有的话,那么攻击者利用该缺陷上传类似webshell等恶意文件。   目标系统主要是通过commons-fileupload组件来实现文件上传,具体实现如下: DiskFileItemFactory

面试杠上SpringBoot?啃透这些“核心笔记”害怕干不赢面试官

假装没事ソ 提交于 2020-11-25 13:49:12
现在已是十一月中旬,可谓是真正要好好准备明年的“金三银四”的热潮,千千万万的面试大军,不知你是否也是其中一员呢?小编这几天熬夜整理了一些SpringBoot知识点及笔记,觉着这么好的东西就应该拿出来给大家分享一起学习,以此来感谢大家对我的支持。那么,废话就说这么多吧,下面就让我带着你一起学习SpringBoot吧! 01 SpringBoot如何学? 说到如何学习SpringBoot,小编这里有一份SpringBoot的学习大纲(xmind文件),关于SpringBoot的学习分成了十二个部分: spring基础、Spring常用配置、Spring高级话题、SpringMVC基础、SpringBoot基础、SpringBoot核心、Springboot的Web开发、SpringBoot的数据访问、SpringBoot企业级开发、SpringBoot开发部署与测试、应用监控、分布式系统开发 SpringBoot的学习大纲(xmind文件) 由于有十二个部分,内容比较多,图片展示也不太方便,给大家看的是一个总图,可能不太清晰,若是想要下载原图【注意:xmind原图可自己编辑】的话, 可以来找小编扫描二维码即可。 SpringBoot企业级开发 02 熬夜整理的SpringBoot知识点 2.1 SpringBoot基础22问 问题一 什么是 Spring Boot? 多年来

java web 项目中web.xml 详解

空扰寡人 提交于 2020-11-25 08:06:46
web.xml详述: web.xml 是每个Java web 项目的必备文件,又叫做部署描述符,Servlet规范中定义的,是web应用的配置文件。 概念: 、部署描述符文件就像所有XML文件一样,必须以一个XML头开始。这个头声明可以使用的XML版本并给出文件的字符编码。DOCYTPE声明必须立即出现在此头之后。这个声明告诉服务器适用的servlet规范的版本(如2.2或2.3)并指定管 理此文件其余部分内容的语法的DTD(Document Type Definition,文档类型定义)。所有部署描述符文件的顶层(根)元素为web-app。请注意,XML元素不像HTML,他们是大小写敏感的。因此,web-App和WEB-APP都是不合法的,web- app必须用小写。 部署文件实例: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> </web-app> 注:所有的相关配置文件都在这个<webappp></webapp>当中。 web.xml常用标签元素以及功能: 1 <welcome

Spring-MVC的配置文件及路径问题

故事扮演 提交于 2020-11-25 07:25:19
第一:加载web.xml之后,读哪个配置文件问题?即是applicationContext.xml还是xxx-servlet.xml?   解答:①在web.xml中配置DispatcherServlet时,看下面代码红色       <servlet>       <servlet-name>dispatch</servlet-name>       <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>       <init-param>         <param-name>contextConfigLocation</param-name>         <param-value>/WEB-INF/applicationContext.xml</param-value>        </init-param>      </servlet>     在没有<init-param>时,会自动寻找xxx-servlet.xml(即默认为xxx-servlet.xml,         默认路径为/WEN-INF/xxx-servlet.xml(xxx=定义的servlet-name 即<servlet-name>dispatch</servlet-name>),)

JavaWeb_(Struts2框架)Struts创建Action的三种方式

妖精的绣舞 提交于 2020-11-25 05:56:54
  此系列博文基于同一个项目已上传至github   传送门   JavaWeb_(Struts2框架)Struts创建Action的三种方式   传送门   JavaWeb_(Struts2框架)struts.xml核心配置、动态方法调用、结果集的处理   传送门   JavaWeb_(Struts2框架)Log4j的配置以及解决中文乱码   传送门   JavaWeb_(Struts2框架)参数传递之接收参数与传递参数   传送门   JavaWeb_(Struts2框架)Ognl小案例查询帖子   传送门   JavaWeb_(Struts2框架)Action中struts-default下result的各种转发类型   传送门   JavaWeb_(Struts2框架)拦截器interceptor   传送门      第一种DefaultAction什么都没有干   第二种实现了Action接口   第三种继承了ActionSupport类【常用】   目录结构    package com.Gary.web; public class DefaultAction { public String execute() { System.err.println( "这是一个普通的action" ); return null ; } } DefaultAction.java