servlet

Servlet

  • 将每次的几个案例进行复习,自己手打;

eclipse小技巧

  • 常用的view界面不是Project Exploere是Package Explorer;
  • 缺少某个界面的时候可以在windows-show view中打开;

http

  • Web的访问机制为请求响应机制,因此先介绍请求响应机制;
  • http:要求:掌握一些头信息
  • http:超文本传输协议
    • 协议:规定数据的格式;
    • 1、浏览器往服务器发送—请求
    • 2、服务器往浏览器回写—响应

请求(request):

  • 组成部分:请求行 请求头 请求体
    • 格式:请求方式—-访问资源—-协议/版本
    • GET /day0801/1.html HTTP/1.1
    • 请求行:请求信息的第一行
      • 请求方式:get和post
      • get会把参数放在url的后面 post不会
      • get参数大小有限制,post请求却没有限制
      • get请求没有请求体;post请求有请求体,请求参数放在请求体中
      • get请求没有post请求安全;
      • 请求的版本我们都为1.1;
    • 请求头:请求信息的第二行到结束
      • 格式:key-value(value可以有多个值)
      • 常见的请求头:
        • Accept: text/html,image/*–支持数据类型text/html text/css text/javascript 大类型/小类型,mime类型
        • Accept-Charset: ISO-8859-1 –字符集
        • Accept-Encoding: gzip –支持压缩
        • Accept-Language:zh-cn –语言环境
        • Host: www.itcast.cn:80 –访问主机
        • If-Modified-Since: Tue, 11 Jul 2000 18:23:51 GMT –缓存文件的最后修改时间
        • Referer: http://www.itcast.com/index.jsp –来自哪个页面、防盗链
        • Cookie
        • 。。。。
      • 掌握的请求头:
        • Referer User-Agent Cookie If-Modified-Since
    • 请求体:空行以下的内容

响应(response)

  • 组成部分:响应行 响应头 响应体
  • 响应行:响应信息的第一行
    • 格式:协议/版本 状态码 状态码说明
    • 例如:HTTP/1.1 200 OK
    • 状态码:
      • 200 正常响应成功
      • 302 重定向
      • 304 读缓存
      • 404 用户操作资源不存在
      • 500 服务器内部异常,代码出问题了;
  • 响应头:从响应信息的第二行到空行结束
    • 格式:key/value(value可以是多个值)
    • 常见的头:
      • Location: http://www.it315.org/index.jsp –跳转方向 和302一起使用的
      • Server:apache tomcat –服务器型号:不安全已经不显示了;
      • Last-Modified: Tue, 11 Jul 2000 18:23:51 GMT –最后修改时间,若有缓存,则不修改;
      • Refresh: 1;url=http://www.it315.org –定时刷新
      • Content-Disposition: attachment; filename=aaa.zip –下载
      • Set-Cookie:SS=Q0=5Lb_nQ; path=/search★
      • Expires: -1 –缓存
      • Cache-Control: no-cache –缓存
      • Pragma: no-cache –缓存
      • Connection: Keep-Alive –连接
    • 掌握的头信息
      • Content-Type Location Last-Modified Refresh Content-Disposition Set-Cookie
  • 响应体:空行以下的内容
    • 页面上展示的内容,就是heml的内容;

Servlet

  • 去找找怎么理解tomcat底层上是怎么实现的接收请求,和完成响应;
  • 完成登陆案例(顺序)
    • 表单
    • servlet
    • 请求(request)
    • 响应(response)
  • 表单:手机用户数据,提交字段教导服务器必须有那么属性,提交的地址action,请求方式:post
  • servlet:动态的web开发技术,本质就是一个类,运行在服务器端的一个java小程序,
    • 处理业务逻辑,生成动态web内容
  • 编写servlet步骤:
    • 1、编写一个类
      • a、继承HttpServlet
      • b、重写doGet或者doPost方法
    • 2、编写配置文件(web-inf/web.xml)
      • a.注册servlet
      • b.绑定路径(把类和路径绑定了),直接可以选择类复制qualified name;
    • 3、访问
      • http://主机:端口号/项目名/路径
  • 故障处理:如果没有在写代码时没有servlet的jar包,那我们需要在build path中添加config build path 然后选择library;
    • 之所以没有导入,是因为创建工程时,没有指定外源的服务器的包;
  • 配置文件的作用:我们在配置文件中相当于把我们的类名写出,那么服务器自动帮我们把这个类创造出来并适用了其中的方法。
    • 这里指的服务器就是tomcat,它相当于自动编写的一段脚本语言,即软件服务器;
    • xml中其实是将路径绑定到parttern里面的;
  • 接收参数:key=value
  • 回写内容:
    • response.getWriter().print(“成功”);
    • 处理响应数据中文乱码:
      • resp.setContentType(”TEXT/HTML;charset=UTF-8”);
  • 在设置javaEE的分层系统中,Dao层和Domain层较为重要些,是每个项目都需要的,其他的则根据不同项目特点要取不同的名字;
    • domain层是每个程序的bean类;
    • Dao层是对数据库进行的直接操作;
  • 登陆案例步骤:
    • 1.先有数据库和表
    • 2.创建工程
    • 3.复制页面
      • 修改login.html
        • 给用户名和密码添加name属性
        • 修改表单的action属性 action=”http://localhost/day0901/login”
        • 添加method属性 method=”post”
    • 4.导入jar包:
    • 5.导入工具类和配置文件
      • DBUtils
      • c3p0 配置文件;
    • 6.创建servlet(LoginServlet: 路径 /login)
      • 接受用户名和密码
      • 调用service层(UserService)完成登录操作
      • 提示信息
    • 7.UserService
      • login(username,password) 调用dao
    • 8.dao(对数据库进行直接操作)
      • 通过用户名和密码查询数据库
  • serlvet总结:
    • servlet常用方法:
      • void init(ServletConfig config):初始化
      • void service(ServletRequest request,ServletResponse response):服务 处理业务逻辑
      • void destroy():销毁
      • ServletConfig getServletConfig() :获取当前servlet的配置对象
    • GenericServlet常用方法:
      • 除了service方法没有显示,其他都实现了
      • 空参的Init() 若我们自己想对servlet进行初始化操作,重写这个init()方法即可。
    • HttpServlet常用方法:
      • service做了实现,把参数强转,调用了重载的service方法
        • 重载的service方法获取请求的方式,根据请求方式的不同调用相应doXxx()方法,相当于不用自己在选择doXX了。
        • service方法会自动判断什么属性,然后进行选择;
        • 两个service方法,是个很巧妙的方法;
      • doGet和doPost方法
  • servlet生命周期 ★★★
    • void init(ServletConfig config):初始化
      • 初始化方法
      • 执行者:服务器
      • 执行次数:一次
      • 执行时机:默认第一次访问的时候
    • void service(ServletRequest request,ServletResponse response):服务 处理业务逻辑
      • 服务
      • 执行者:服务器
      • 执行次数:请求一次执行一次
      • 执行时机:请求来的时候
    • void destroy():销毁
      • 销毁
      • 执行者:服务器
      • 执行次数:只执行一次
      • 执行时机:当servlet被移除的时候或者服务器正常关闭的时候
    • serlvet是单实例多线程
    • 默认第一次访问的时候,服务器创建servlet,并调用init实现初始化操作.并调用一次service方法
    • 每当请求来的时候,服务器创建一个线程,调用service方法执行自己的业务逻辑
    • 当serlvet被移除的时候服务器正常关闭的时候,服务器调用servlet的destroy方法实现销毁操作.
    • 也就是说,servlet其实也就是着三个方法的使用,因此其生命周期,也就是这三个方法的产生和使用过程;
  • 在servlet标签有一个子标签 load-on-startup
    • 作用:用来修改servlet的初始化时机
    • 取值:正整数 值越大优先级越低
  • 当我们的配置文件里面没有指定配置的话,会查找tomcat的web.xml,
    • 若请求我们自己的项目处理不了,tomcat的默认的servlet会帮我们处理信息
    • 有响应信息,但是并没有指定的页面
    • 因此,并不是每个网页的404长的都是一样的;
    • tomcat中也有一个配置文件,和工程的配置文件权限差不多;
  • dynamic如果选择3.0的话是没有配置文件的;
  • url-pattern的配置:★


      • 暂时不清楚
  • 路径的写法:

    • 相对路径:当前路径 ./ 或者 什么都不写
      • 上一级路径 ../
    • 绝对路径:(我们使用)
      • 带主机和协议的绝对路径(访问站外资源)http://www.itheima.com/xxxx
      • 不带主机和协议的绝对路径:/day09/hello(经常使用)
  • 常见的响应头–refresh
    • 响应头格式:refresh::秒数;erl=跳转的路径
    • 设置响应头:
      • response.setHeader(String key,String value);设置字符串形式的响应头;
      • response.addHeader(String key,String value);追加响应头,若设置过头则追加,若没有则设置;
      • 设置定时刷新:response.setHeader(“refresh”,”3;url=/day0901/login.htm”);
  • ServletContext:上下文(全局管理者)
    • 常用的方法:
      • setAttribute(String key,Object value);//设置值
      • Object getAttribute(String key);//获取值
      • removeAttribute(String key)://移除值
    • 获取全局管理者:getServletContext():
  • 在复制黏贴中,需要把web root改成新的项目;
  • ServletConfig:(了解)servlet配置对象
    • 作用:
      • 1.获取当前servlet的名称
      • 2.获取当前servlet的初始化参数
      • 3.获取全局管理者
    • 方法:
      • String getServletName():获取当前servlet的名称(web.xml配置的servlet-name)
      • String getInitParameter(String key):通过名称获取指定的参数值
      • Enumeration getInitParameterNames() :获取所有的参数名称
        • 初始化参数是放在 web.xml文件
        • servlet标签下子标签 init-param
        • enumeration是哪个集合里面的?
      • ★getServletContext():获取全局管理者,讲config是为了这个;
    • servletconfig是由服务器创建的,在创建servlet的同时也创建了它,通过servlet的init;
    • (ServletConfig config)将config对象传递给servlet,由servlet的getServletConfig方法获取;
  • ServletContext:理解-上下文(全局管理者)
    • 一个项目的引用.代表了当前项目.
    • 当项目启动的时候,服务器为每一个web项目创建一个servletcontext对象.
    • 当项目被移除的时候或者服务器关闭的时候servletcontext销毁
    • 作用:
      • 1.获取全局的初始化参数
      • 2.共享资源(xxxAttribute),即不同的servlet可以利用参数进行通信了;
      • 3.获取文件资源
      • 4.其他操作
    • 获取servletcontext:
      • 方式1:了解 -getServletConfig().getServletContext();源码的得到方式;
      • 方式2:getServletContext()
    • 常用方法:
      • 1.了解String getInitParameter(String key):通过名称获取指定的参数值
        • Enumeration getInitParameterNames() :获取所有的参数名称
        • 在根标签下有一个 context-param子标签 用来存放初始化参数
      • 2.xxxAttribute
      • 3.String getRealPath(String path):获取文件部署到tomcat上的真实路径(带tomcat路径)
        • getRealPath(“/”):D:\javaTools\apache-tomcat-7.0.52\webapps\day09\
        • InputStream getResourceAsStream(String path):以流的形式返回一个文件
      • 4.获取文件的mime类型 大类型/小类型
        • String getMimeType(String 文件名称)
  • 域对象:★★★servletcontext创建的;
    • 当成map集合
    • 常用方法:xxxAttribute()
    • servletcontext创建和销毁:
      • 当项目启动的时候,服务器为每一个web项目创建一个servletcontext对象.
      • 当项目被移除的时候或者服务器关闭的时候servletcontext销毁
    • 存放:共享的数据
    • 这是一个servlet互相通信的媒介;
  • 获取文件的路径:
    • 通过类加载器获取文件:2.txt 放在classes目录下无论是java项目还是web项目都可以
      • 类.class.getClassLoader().getResource(“2.txt”).getPath()
      • 这个方法获取目录更加万金油;
标题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、付费专栏及课程。

余额充值