后端杂烩

本文介绍了Tomcat作为Servlet容器的基本工作原理,JSP的工作流程及其如何被转换为Servlet,同时还探讨了JSP的注释、声明方式以及内置对象等内容。

Servlet技术可以将http请求和响应封装在标准的java类中实现各种web应用方案。

Jsp(java server page)在html页面中添加java程序段(scriptlet)和jsp标记(tag)形成jsp。

在Tomcat中,应用程序的部署很简单,你只需将你的WAR放到Tomcat的webapp目录下,Tomcat会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的Jsp时,通常第一次会很慢,因为Tomcat要将Jsp转化为Servlet文件,然后编译。编译以后,访问将会很快。另外Tomcat也提供了一个应用:manager,访问这个应用需要用户名和密码,用户名和密码存储在一个xml文件中。通过这个应用,辅助于Ftp,你可以在远程通过Web部署和撤销应用。当然本地也可以。

Tomcat不仅仅是一个Servlet容器,它也具有传统的Web服务器的功能:处理Html页面。但是与Apache相比,它的处理静态Html的能力就不如Apache.可以将Tomcat和Apache集成到一块,让Apache处理静态Html,而Tomcat处理Jsp和Servlet.这种集成只需要修改一下Apache和Tomcat的配置文件即可。

Apache是web服务器,Tomcat是应用(java)服务器,它只是一个servlet容器,是Apache的扩展。Apache和Tomcat都可以做为独立的web服务器来运行,但是Apache不能解释java程序(jsp,serverlet)。Apache是普通服务器,本身只支持html即普通网页。不过可以通过插件支持php,还可以与Tomcat连通(单向Apache连接Tomcat,就是说通过Apache可以访问Tomcat资源。(反之不然)。两者都是一种容器,只不过发布的东西不同:Apache是html容器,功能像IIS一样;Tomcat是jsp/servlet容器,用于发布jsp及java的,类似的有IBM的webshere、EBA的Weblogic,sun的JRun等等。Apache只支持静态网页,但像asp,php,cgi,jsp等动态网页就需要Tomcat来处理。Apache和Tomcat整合使用:如果客户端请求的是静态页面,则只需要Apache服务器响应请求;如果客户端请求动态页面,则是Tomcat服务器响应请求;因为jsp是服务器端解释代码的,这样整合就可以减少Tomcat的服务开销。

Apache有多种产品,可以支持SSL技术,支持多个虚拟主机。Apache是以进程为基础的结构,进程要比线程消耗更多的系统开支,不太适合于多处理器环境,因此,在一个Apache Web站点扩容时,通常是增加服务器或扩充群集节点而不是增加处理器。到目前为止Apache仍然是世界上用的最多的Web服务器,市场占有率达60%左右。世界上很多著名的网站如Amazon.com、Yahoo!、W3 Consortium、Financial Times等都是Apache的产物,它的成功之处主要在于它的源代码开放、有一支开放的开发队伍、支持跨平台的应用(可以运行在几乎所有的Unix、Windows、Linux系统平台上)以及它的可移植性等方面。

Tomcat是一个开放源代码、运行servlet和JSP Web应用软件的基于Java的Web应用软件容器。Tomcat

Server是根据servlet和JSP规范进行执行。

Jsp的工作原理:

Jsp第一次被请求的时候,容器会把jsp转化为servlet。在转化时候,所有的html的标签都会包含到println()语句中,所有的jsp代码都会转化为java代码。如果转化过程出现了错误,转化停止,并向服务器和客户端输出错误信息,如果转化成功,servlet会被编译为class文件,因为编译耗时,所以第一次访问的时候时间会长一些。

Jsp容器还负责调用jsp转化而来的servlet,servlet负责提供相应用户的请求。调用servlet时候先调用的是jspinit()方法,然后调用jspService()方法。对于客户端的每一个请求,jsp容器都会启动一个新的线程处理请求。

如果jsp被修改,服务器将会根据设置决定是否对于该文件重新编译,如果要编译结果取代servlet,并继续以上过程。

当servlet处理完毕后,调用jspDestroy()方法结束生命周期,同时被jvm的垃圾回收器回收。

Jsp的注释方式:

Html注释可见,jsp注释<%--

-->用户不可见。

Jsp声明方式:

在jsp页面定义合法的变量和方法,<%!%>,在当前页面有效,不会产生任何输出。

如果需要产生输出,可以使用jsp表达式或者脚本片段Scriptlets.

Jsp表达式:<%= %>

Jsp脚本片段:<% %>,定义变量,调用方法,进行表达式计算。

Jsp编译指令:

编译指令用于设置整个jsp页面相关的属性,三个指令:page,include,taglib.

<%@ page language=”java”pageEncoding=”GBK”%>

<%@ include file=”路径”%>

<%@ taglib uri=”taglibURI”prefix=”tabPrefix”%>

Jsp动作指令:

动作指令运行脚本动作。7个动作指令。

Jsp内置对象:9个

内置对象,不需要预先定义就可以在jsp页面中直接使用的对象。

1request:获取客户端提交的数据,包括头信息,客户端地址,请求方式等。

2response:对客户端的请求做出动态的响应,向客户端发送数据。

3session:客户打开浏览器连接服务器开始,到用户关闭这个浏览器的整个阶段称为会话。Session对象可以用来存储用户的会话信息会话状态。

4out:向客户端输出各种数据。

5page:指当前页面本身,类似java的this

6application:实现用户间的数据共享,存放全局变量。

7pageContext:管理对属于jsp中特殊可见部分中已经命名对象的访问。

8config:获取服务器初始化配置参数。

9exception:处理jsp页面中的错误和异常。

Servlet通常被部署到容器中,由容器连接到web服务器。当客户端请求的时候,把web服务器的请求转发到servlet容器,容器会调用相关的servlet。Servlet的生命周期由servlet容器控制:

1加载并实例化servlet,即servlet类载入jvm中并实例化。Servlet载入jvm的时机有三种,当服务器启动,当第一次请求调用servlet,根据管理员要求。加载后实例化一个或者多个实例(例如,一个servlet类因为不同的参数有多个定义,或者servlet实现了singleThreadModel而导致容器为之生成一个实例池)。Servlet被实例化以后,容器会在客户端请求钱初始化,即调用init方法。执行完init后即为已初始化状态。

2处理客户端请求。客户端发来请求时,容器创建一个servletRequest和一个servletResponse对象。调用service方法,把请求委托给servlet。如果是http请求的话就是调用相应的doget,dopost方法。

Servlet在处理用户请求的时候可能抛出servletException或者unavailableException。前者来源于常规操作时候出现的异常。后者是无法访问。如果是暂时的,那么在无法服务的期间对该实例的请求为503,服务器暂时忙,不能处理。如果是永久的,要把servlet从服务中删去,404,请求资源不可用。

3卸载servlet。释放系统资源,如数据库连接。调用destroy后,释放实例。垃圾回收。

//标签库稍微了解使用即可。

标签库:简单的可重用的代码结构。

标签处理器,标签库描述,应用程序部署表述符,jsp页面构成。

标签处理器:处理标签定义属性内容等。

标签库描述:.tld文件,记录自定义标签属性,信息位置。

应用程序部署描述符:要在web.xml中定义信息。

Jsp页面:在jsp页面相关说明即可使用。

Filter预处理用户请求,过滤器

在应用程序中存在请求响应的任何地方拦截请求和响应。以查看提取或操作客户端和服务器之间交互的数据。用户日志记录,访问控制,会话控制。

介于与之相关的servlet或jsp页面与客户端之间。

原理:当某个资源与servlet过滤器关联后,对于该资源的所有的请求将会通过servlet过滤器。Servlet过滤器在servlet被调用之前检查请求的对象request,并决定是将请求转发给过滤链中的下一个资源还是中止请求并相应用户。如果请求被转发给过滤链的下一个资源servlet处理以后,servlet过滤器会检查响应对象response,进行处理后返回。

Listener监听器

监听一些重要事情的发生,如监听客户端的请求,web应用上下文信息,会话信息。

监听器对象可以在事情发生前发生后做一些必要处理。

标题SpringBoot智能在线预约挂号系统研究AI更换标题第1章引言介绍智能在线预约挂号系统的研究背景、意义、国内外研究现状及论文创新点。1.1研究背景与意义阐述智能在线预约挂号系统对提升医疗服务效率的重要性。1.2国内外研究现状分析国内外智能在线预约挂号系统的研究与应用情况。1.3研究方法及创新点概述本文采用的技术路线、研究方法及主要创新点。第2章相关理论总结智能在线预约挂号系统相关理论,包括系统架构、开发技术等。2.1系统架构设计理论介绍系统架构设计的基本原则和常用方法。2.2SpringBoot开发框架理论阐述SpringBoot框架的特点、优势及其在系统开发中的应用。2.3数据库设计与管理理论介绍数据库设计原则、数据模型及数据库管理系统。2.4网络安全与数据保护理论讨论网络安全威胁、数据保护技术及其在系统中的应用。第3章SpringBoot智能在线预约挂号系统设计详细介绍系统的设计方案,包括功能模块划分、数据库设计等。3.1系统功能模块设计划分系统功能模块,如用户管理、挂号管理、医生排班等。3.2数据库设计与实现设计数据库表结构,确定字段类型、主键及外键关系。3.3用户界面设计设计用户友好的界面,提升用户体验。3.4系统安全设计阐述系统安全策略,包括用户认证、数据加密等。第4章系统实现与测试介绍系统的实现过程,包括编码、测试及优化等。4.1系统编码实现采用SpringBoot框架进行系统编码实现。4.2系统测试方法介绍系统测试的方法、步骤及测试用例设计。4.3系统性能测试与分析对系统进行性能测试,分析测试结果并提出优化建议。4.4系统优化与改进根据测试结果对系统进行优化和改进,提升系统性能。第5章研究结果呈现系统实现后的效果,包括功能实现、性能提升等。5.1系统功能实现效果展示系统各功能模块的实现效果,如挂号成功界面等。5.2系统性能提升效果对比优化前后的系统性能
在金融行业中,对信用风险的判断是核心环节之一,其结果对机构的信贷政策和风险控制策略有直接影响。本文将围绕如何借助机器学习方法,尤其是Sklearn工具包,建立用于判断信用状况的预测系统。文中将涵盖逻辑回归、支持向量机等常见方法,并通过实际操作流程进行说明。 一、机器学习基本概念 机器学习属于人工智能的子领域,其基本理念是通过数据自动学习规律,而非依赖人工设定规则。在信贷分析中,该技术可用于挖掘历史数据中的潜在规律,进而对未来的信用表现进行预测。 二、Sklearn工具包概述 Sklearn(Scikit-learn)是Python语言中广泛使用的机器学习模块,提供多种数据处理和建模功能。它简化了数据清洗、特征提取、模型构建、验证与优化等流程,是数据科学项目中的常用工具。 三、逻辑回归模型 逻辑回归是一种常用于分类任务的线性模型,特别适用于二类问题。在信用评估中,该模型可用于判断借款人是否可能违约。其通过逻辑函数将输出映射为0到1之间的概率值,从而表示违约的可能性。 四、支持向量机模型 支持向量机是一种用于监督学习的算法,适用于数据维度高、样本量小的情况。在信用分析中,该方法能够通过寻找最佳分割面,区分违约与非违约客户。通过选用不同核函数,可应对复杂的非线性关系,提升预测精度。 五、数据预处理步骤 在建模前,需对原始数据进行清理与转换,包括处理缺失值、识别异常点、标准化数值、筛选有效特征等。对于信用评分,常见的输入变量包括收入水平、负债比例、信用历史记录、职业稳定性等。预处理有助于减少噪声干扰,增强模型的适应性。 六、模型构建与验证 借助Sklearn,可以将数据集划分为训练集和测试集,并通过交叉验证调整参数以提升模型性能。常用评估指标包括准确率、召回率、F1值以及AUC-ROC曲线。在处理不平衡数据时,更应关注模型的召回率与特异性。 七、集成学习方法 为提升模型预测能力,可采用集成策略,如结合多个模型的预测结果。这有助于降低单一模型的偏差与方差,增强整体预测的稳定性与准确性。 综上,基于机器学习的信用评估系统可通过Sklearn中的多种算法,结合合理的数据处理与模型优化,实现对借款人信用状况的精准判断。在实际应用中,需持续调整模型以适应市场变化,保障预测结果的长期有效性。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值