servlet

servlet介绍

javaWeb三大组件之一,Servlet程序,Filter程序,Listener监听器,它可以接收客户端发送过来的请求,并响应数据给客户端。

实现servlet程序

  1. 创建一个类去实现servlet接口
  2. 实现service方法,处理请求,并响应数据
  3. 在web.xml中配置servlet程序的访问地址
    web.xml配置servlet
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
    <!-- servlet标签给tomcat配置servlet程序 -->
    <servlet>
        <!-- servlet-name标签 Servlet程序起一个别名(一般就是类名) -->
        <servlet-name>HelloServlet</servlet-name>
        <!-- 是servlet程序的全类名 -->
        <servlet-class>com.atlianxi.servlet.HelloServlet</servlet-class>
    </servlet>
    <!--mapping标签给servlet程序配置访问地址-->
    <servlet-mapping>
        <!--name标签作用是告诉服务器,当前配置的地址给哪个servlet程序使用-->
        <servlet-name>HelloServlet</servlet-name>
        <!--配置的访问地址-->
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>
</web-app>
通过mapping里面的url找到上面的那么再通过name里的类名找到上方servlet里的name然后通过name找到下面的class再找到class里面的service方法,需要执行的内容

servlet生命周期

  1. 执行servlet构造器方法
  2. 执行init初始化方法
    第一第二步,是在第一次访问的时候创建servlet程序会调用。
  3. 执行service方法
    第三步每次访问都会调用。
  4. 执行destroy销毁方法
    第四步,在web工程停止的时候调用。

通过继承HttpServlet实现Servlet程序(另一种就是接口实现Servlet)

  1. 编写一个类去继承HttpServlet类
  2. 根据业务需要重写doGet或doPost方法
  3. web.xml中配置Servlet程序的访问地址
    通过idea直接创建servlet程序:右键new–>Create New Servlet,name和类名一致,去掉最下方的勾选即可

ServletConfig类的三大作用

  1. 可以获取servlet程序的别名servlet-name的值
  2. 获取初始化参数init-param
  3. 获取servletContext对象

ServletContext

  1. 是一个接口,它表示servlet上下文对象
  2. 一个web工程,只有一个ServletContext对象实例
  3. 是一个域对象
    什么是域对象?
    可以像map一样存取数据的对象,这里的域指的是存取数据的操作范围。
    servletcontext作用?
  4. 获取web.xml中配置的上下文参数context-param
  5. 取当前的工程路径,格式:/工程路径
  6. 程部署后在服务器硬盘上的绝对路径
  7. ap一样存取数据

常用请求头说明

  1. Accept:表示客户端可以接收的数据类型
  2. Accept-Languege:表示客户端可以接收的语言类型
  3. User-Agent:表示客户端浏览器的信息
  4. Host:表示请求时的服务器ip和端口号

Java三层架构

笔记笔记

debug调试

在这里插入图片描述

  1. f8 :让代码往下执行一行
  2. f7: 可以进入当前方法体内(自己写的代码,非其它框架源码)
  3. shift+f8:跳出当前方法体外
  4. Alt+shift+f7:强制进入方法体内
  5. Alt+f9:停在光标所在行(相当于临时断点)
    • 方法调用栈窗口?
    • 可以查看当前线程有哪些方法调用信息
    • 下面的调用上一行的方法

问题

  1. 解决post请求中文乱码问题
    req.setCharacterEncoding(“UTF-8”);
根据原作 https://pan.quark.cn/s/459657bcfd45 的源码改编 Classic-ML-Methods-Algo 引言 建立这个项目,是为了梳理和总结传统机器学习(Machine Learning)方法(methods)或者算法(algo),和各位同仁相互学习交流. 现在的深度学习本质上来自于传统的神经网络模型,很大程度上是传统机器学习的延续,同时也在不少时候需要结合传统方法来实现. 任何机器学习方法基本的流程结构都是通用的;使用的评价方法也基本通用;使用的一些数学知识也是通用的. 本文在梳理传统机器学习方法算法的同时也会顺便补充这些流程,数学上的知识以供参考. 机器学习 机器学习是人工智能(Artificial Intelligence)的一个分支,也是实现人工智能最重要的手段.区别于传统的基于规则(rule-based)的算法,机器学习可以从数据中获取知识,从而实现规定的任务[Ian Goodfellow and Yoshua Bengio and Aaron Courville的Deep Learning].这些知识可以分为四种: 总结(summarization) 预测(prediction) 估计(estimation) 假想验证(hypothesis testing) 机器学习主要关心的是预测[Varian在Big Data : New Tricks for Econometrics],预测的可以是连续性的输出变量,分类,聚类或者物品之间的有趣关联. 机器学习分类 根据数据配置(setting,是否有标签,可以是连续的也可以是离散的)和任务目标,我们可以将机器学习方法分为四种: 无监督(unsupervised) 训练数据没有给定...
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值