JAVA企业面试题精选 Servlet和JSP 11-20

本文详细阐述了HTTP请求方法GET和POST的区别,包括数据量、安全性等方面,并对比了重定向与转发的不同之处。此外还介绍了Servlet的线程安全问题及其解决方案。

2.11.简述GET和POST的区别

参考答案:

  GET和POST的区别如下:
  1.从提交的数据量上来说,get方式会将请求参数及参数值放在请求资源路劲里面,携带的数据大小有限制,不适合提交大量的数据;post方式会将请求参数及参数值放在实体内容里面,理论上没有限制,适合大量数据的提交.
  2.从安全上来讲,post方式相对安全(因为请求参数及值存放在实体内容里面,而get方式会将请求参数及值显示在浏览器地址栏).但是要注意,post方式并没有将数据加密.

2.12.简述什么是重定向

参考答案:

  服务器向浏览器发送一个302状态码及一个Location消息头(该消息头的值是一个地址,称之为重定向地址),浏览器收到后会立即向重定向地址发出请求.

2.13.Servlet是否线程安全的,如何解决?

参考答案:

  Servlet存在线程安全问题.容器收到请求之后,会启动一个线程来来进行相应的处理.
  默认情况下,容器只会为某个Servlet创建一个实例,如果同时有多个请求同时访问某个Servlet则肯定会有多个线程访问同一个Servlet实例.如果这些线程要修改Servlet实例的某个属性,就有可能发生线程安全问题.
  可以使用synchronized对代码加锁来解决Servlet的安全问题.

2.14.简述转发和重定向有什么区别

参考答案:

  转发和重定向的区别有以下几点:
  1.重定向是浏览器发送请求并收到响应以后再次向一个新地址发请求,转发是服务器收到请求后为了完成响应转到一个新的地址.
  2.重定向中有两次请求,不同享数据,转发只产生一次请求,且在组件间共享数据.
  3.重定向后地址栏地址改变,而转发不会.
  4.重定向的新地址可以是任意地址,转发到的新地址必须是同一个应用内的某地址.

2.15.简述什么是转发以及如何实现转发

参考答案:

  转发是一个Web组件(Servlet/JSP)将未完成的处理通过容器转交给另外一个Web组件继续完成.
  可以按照以下三个步骤来实现转发:
  1.绑定数据到request对象,代码如下:

request.setAttribute(String name,Object obj);
  • 1

  2.获得转发器,代码如下:

RequestDispatcher rd = request.getRequestDispatcher(String uri);
  • 1

  3.转发,代码如下:

rd.forward(request,response);
  • 1

2.16.指出/images/123.jpg与images/123.jpg两种写法的区别

参考答案:

  ”/images/123.jpg”是绝对地址,根目录下的images子目录下的123.jpg文件;
  ”images/123.jpg”是相对地址,位置是相对于当前目录而言,指当前目录下images子目录下的123.jpg文件.

2.17.Tomcat服务器的默认端口是什么?怎样修改Tomcat的端口为8009?

参考答案:

  Tomcat服务器的默认端口是8080.修改Tomcat端口的方法如下:
 &esmp;首先,在Tomcat安装根目录下的子文件夹conf中找到文件server.xml;
  然后,将其用无格式的文本编辑器打开,找到下列配置代码:

 <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
  • 1

  将以上配置代码中的8080更改为8009,即修改了Tomcat的端口为8009.

2.18.以Tomcat为例,描述一个jsp数据请求,到数据返回的过程,该过程中Tomcat内部机制如何实现

参考答案:

  Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选.Tomcat处理一个http请求的过程,假设来自客户的请求为:

http://localhost:8080/wsota/wsota_index.jsp
  • 1

  对上述请求的执行步骤如下:
  1)请求被发送到本机端口8080,被在那里侦听的Coyote HTTP/1.1 Connector获得;
 &esmp;2)Connector把该请求交给它所在的Service的Engine来处理,并等待来自Engine的回应;
  3)Engine获得请求localhost/wsota/wsota_index.jsp,匹配它所拥有的所有虚拟主机Host;
  4)Engine匹配到位名localhost的Host(即使匹配不到也把请求交给该Host处理,因为该Host被定义为该Engine的默认主机);
  5)localhost Host获得请求/wsota/wsota_index.jsp,匹配它所拥有的所有Context;
&emp; 6)Host匹配到路径为/wsota的Context(如果匹配不到就把该请求交给路径名为”“的Context去处理);
  7)path=”/wsota”的Context获得请求/wsota_index.jsp,在它的mapping table中寻找对应的Servlet;
  8)Context匹配到URL PATTERN为*.jsp的Servlet,对应JSPServlet类;
  9)构造HttpServletRequest对象和HttpServletResponse对象,作为参数调用JSPServlet的doGet或doPost方法;
  10)Context把执行完了之后的HttpServletResponse对象返回给Host;
  11)Host把HttpServletResponse对象返回给Engine;
  12)Engine把HttpServletResponse对象返回给Connector;
  13)Connector把HttpServletResponse对象返回给客户浏览器.

2.19.熟悉Tomcat吗?你知道在Tomcat server.xml文件中都配置了哪些内容?

参考答案:

  server.xml文件描述了如何启动Tomcat Server.文件格式如下:

<Server>
    <Listener />
    <GlobaNamingResources>
    </GlobaNamingResources
    <Service>
        <Connector />
        <Engine>
            <Logger />
            <Realm />
               <host>
                   <Logger />
                   <Context />
               </host>
        </Engine>
    </Service>
</Server>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

  1.<Server>元素:它代表整个容器,是Tomcat实例的顶层元素.由org.apache.catalina.Server接口来定义.它包含一个<Service>元素.并且它不能做为任何元素的子元素.

  2.<Service>元素:一个”Service”是一个或多个公用一个单独”Container”(容器)的”Connectors”组合(因此,应用程序在容器中可见).通常,这个容器是一个”Engine”(引擎),但这不是必须的.该元素由org.apache.catalina.Service接口定义,它包含一个元素,以及一个或多个<Connector>,这些Connector元素共享用同一个Engine元素

  3.<Connector>元素:由Connector接口定义.<Connector>元素代表与客户程序实际交互的给件,它负责接收客户请求,以及向客户返回响应结果. 请看下列配置代码:

<Connector port="8080" maxThread="50" minSpareThreads="25" maxSpareThread="75" enableLookups="false" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" disableUploadTimeout="true" />

<Connection port="8009" enableLookups="false" redirectPort="8443" debug="0" protocol="AJP/1.3" />
  • 1
  • 2
  • 3

  上述代码中,第一个Connector元素定义了一个HTTP Connector,它通过8080端口接收HTTP请求;第二个Connector元素定义了一个JD Connector,它通过8009端口接收由其它服务器转发过来的请求.

  4.<Engine>元素:每个Service元素只能有一个Engine元素.处理在同一个中所有元素接收到的客户请求.由org.apahce.catalina.Engine接口定义.
  一个“Engine”(引擎)代表处理每个请求的入口点(在Catalina内)。这个Tomcat的标准独立引擎实现分析包含在请求中的HTTP头信息,并将请求传送到适当的主机或虚拟主机上.

  5<Host>元素:它由Host接口定义.一个Engine元素可以包含多个<Host>元素.每个<Host>的元素定义了一个虚拟主机.它包含了一个或多个Web应用.

  6<Context>元素:它由Context接口定义.是使用最频繁的元素.每个<Context>元素代表了运行在虚拟主机上的单个Web应用.一个<Host>可以包含多个<Context>元素.每个web应用有唯一的一个相对应的Context代表web应用自身.servlet容器为第一个web应用创建一个 Context,对应于一个Web App.

2.20.CORBA是什么?用途是什么?

参考答案:

  CORBA标准是公共对象请求代理结构(Common Object Request BrokerArchitecture),由对象管理组织(Object Management Group,缩写为OMG)标准化.它的组成是接口定义语言(IDL)语言标定(binding:也译为联编)和允许应用程序间互操作的协议.其目的为:用不同的程序设计预言书写在不同的进程中运行,为不同的操作系统开发.

内容概要:本文为《科技类企业品牌传播白皮书》,系统阐述了新闻媒体发稿、自媒体博主种草与短视频矩阵覆盖三大核心传播策略,并结合“传声港”平台的AI工具与资源整合能力,提出适配科技企业的品牌传播解决方案。文章深入分析科技企业传播的特殊性,包括受众圈层化、技术复杂性与传播通俗性的矛盾、产品生命周期影响及2024-2025年传播新趋势,强调从“技术输出”向“价值引领”的战略升级。针对三种传播方式,分别从适用场景、操作流程、效果评估、成本效益、风险防控等方面提供详尽指南,并通过平台AI能力实现资源智能匹配、内容精准投放与全链路效果追踪,最终构建“信任—种草—曝光”三位一体的传播闭环。; 适合人群:科技类企业品牌与市场负责人、公关传播从业者、数字营销管理者及初创科技公司创始人;具备一定品牌传播基础,关注效果可量化与AI工具赋能的专业人士。; 使用场景及目标:①制定科技产品全生命周期的品牌传播策略;②优化媒体发稿、KOL合作与短视频运营的资源配置与ROI;③借助AI平台实现传播内容的精准触达、效果监测与风险控制;④提升品牌在技术可信度、用户信任与市场影响力方面的综合竞争力。; 阅读建议:建议结合传声港平台的实际工具模块(如AI选媒、达人匹配、数据驾驶舱)进行对照阅读,重点关注各阶段的标准化流程与数据指标基准,将理论策略与平台实操深度融合,推动品牌传播从经验驱动转向数据与工具双驱动。
【3D应力敏感度分析拓扑优化】【基于p-范数全局应力衡量的3D敏感度分析】基于伴随方法的有限元分析p-范数应力敏感度分析(Matlab代码实现)内容概要:本文档围绕“基于p-范数全局应力衡量的3D应力敏感度分析”展开,介绍了一种结合伴随方法与有限元分析的拓扑优化技术,重点实现了3D结构在应力约束下的敏感度分析。文中详细阐述了p-范数应力聚合方法的理论基础及其在避免局部应力过高的优势,并通过Matlab代码实现完整的数值仿真流程,涵盖有限元建模、灵敏度计算、优化迭代等关键环节,适用于复杂三维结构的轻量化与高强度设计。; 适合人群:具备有限元分析基础、拓扑优化背景及Matlab编程能力的研究生、科研人员或从事结构设计的工程技术人员,尤其适合致力于力学仿真与优化算法开发的专业人士; 使用场景及目标:①应用于航空航天、机械制造、土木工程等领域中对结构强度重量有高要求的设计优化;②帮助读者深入理解伴随法在应力约束优化中的应用,掌握p-范数法处理全局应力约束的技术细节;③为科研复现、论文写作及工程项目提供可运行的Matlab代码参考与算法验证平台; 阅读建议:建议读者结合文中提到的优化算法原理与Matlab代码同步调试,重点关注敏感度推导与有限元实现的衔接部分,同时推荐使用提供的网盘资源获取完整代码与测试案例,以提升学习效率与实践效果。
源码来自:https://pan.quark.cn/s/e1bc39762118 SmartControlAndroidMQTT 点个Star吧~ 如果不会用下载或是下载慢的,可以在到酷安下载:https://www.coolapk.com/apk/com.zyc.zcontrol 本文档还在编写中!!! 被控设备: 按键伴侣ButtonMate 直接控制墙壁开关,在不修改墙壁开关的前提下实现智能开关的效果 zTC1_a1 斐讯排插TC1重新开发固件,仅支持a1版本. zDC1 斐讯排插DC1重新开发固件. zA1 斐讯空气净化器悟净A1重新开发固件. zM1 斐讯空气检测仪悟空M1重新开发固件. zS7 斐讯体重秤S7重新开发固件.(仅支持体重,不支持体脂) zClock时钟 基于esp8266的数码管时钟 zMOPS插座 基于MOPS插座开发固件 RGBW灯 基于ESP8266的rgbw灯泡 zClock点阵时钟 基于ESP8266的点阵时钟 使用说明 此app于设备通信通过udp广播或mqtt服务器通信.udp广播为在整个局域网(255.255.255.255)的1018110182端口通信.由于udp广播的特性,udp局域网通信不稳定,建议有条件的还是使用mqtt服务器来通信. app设置 在侧边栏点击设置,进入设置页面.可设置mqtt服务器.(此处总是通过UDP连接选项无效!) 设备控制页面 (每总设备页面不同) 界面下方的服务器已连接、服务器已断开 是指app与mqtt服务器连接状态显示.与设备连接状态无关. 右上角,云图标为与设备同步mqtt服务器配置.由于可以自定义mqtt服务器,所以除了需要将手机连入mqtt服务器外,还需要将被控设备连入...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值