servlet学习笔记

Servlet

学习Servlet主要学习的就是如何获取客户端的请求以及如何对该请求做出响应.

什么是服务器

服务器就是一台高性能的电脑, 在电脑上安装了 xxx

服务软件, 就可以称为xxx服务器

常见服务器:

邮件服务器: 在电脑上安装了提供邮件收发服务的

软件

ftp服务器: 在电脑上安装了提供文件上传下载服务

的软件

数据库服务器: 在电脑上安装了

DBMS(MySQL/Oracle...)

web服务器: 在电脑上安装了 WebServer

WebServer做了哪些事儿?

负责建立底层的网络连接

负责将客户端请求的文件 找到并返回

负责根据客户端请求的路径 找到对应的Servlet并执

什么是Servlet?WebServer软件本身是不提供业务功能,Servlet是用

于扩展Web服务软件业务功能的组件, 一般情况下 每

种业务都需要对应一个Servlet, 一个网站是由n个业

务组成,做java程序员的主要职责就是通过Servlet实

现网站中的各种业务功能.

如何在idea中配置Tomcat

1. 创建maven工程 选择骨架(工程模板) webapp骨架 ,

在pom.xml中出现了60多行内容说明成功

2. 从文档服务器下载Tomcat安装包, 把文件保存到一个

容易找到的地方路径中尽量不要有中文(建议路径:

d:/java ) 并解压

3. idea中配置Tomcat , 点击Add confifig.... 点击里面左

上角加号 找到 Tomcat Server->Local 如果是第一

次需要配置Tomcat路径, 点灯泡选第二个, 删路径

4. 在main文件夹下创建java和resources文件夹

5. 在工程结构页面(Ctrl+alt+shift+s)的Facets中打钩

在Models里面的Dependencies中添加Tomcat相关

依赖

6. 点击播放键运行

Tomcat控制台乱码问题

找到tomcat安装包中conf文件夹里面的常见错误:

1. 端口占用错误: 1. 关闭其它工程 2. 找到tomcat安

装包里面的bin文件夹找到shutdown.bat 强制关闭

Tomcat

2. 新建文件找不到Create New Servlet ,是因为 在工程

结构页面中没有打钩

3. 创建完Servlet直接在代码中报错, 是因为 在工程结构

页面中没有添加Tomcat相关依赖

4. 在客户端页面中显示???? 是因为设置响应类型代码

有误

response.setContentType("text/html;charset=utf-

8");

5. 启动子集时出错 错误原因:1. 处理路径时少写了/ 2.

工程中两个Servlet处理了相同的路径

创建工程简单版本1. 创建maven工程选择webapp骨架

2. 配置Tomcat 点灯泡(选第二个) 删路径

3. 创建java和resources文件夹

4. 工程结构页面 打钩 和添加 Tomcat相关依赖

5. 点击播放键运行工程 检查是否显示Helloworld (点

击运行前需要关闭其它工程)

6. 在java文件夹中创建HelloServlet , 设置处理路径

为/hello 在doGet方法中返回"测试成功!" 几个字给

客户端 最后运行测试

Servlet响应流程

用户在浏览器中向http://localhost:8080/hello 发出请

求, 请求先被Tomcat拦截, Tomcat会获取出字地址

(/hello) 通过字地址找到对应的Servlet, 之前版本使用

web.xml记录请求地址和Servlet的关系, Servlet3.0之后

的版本 通过注解方式记录地址和Servlet的关系, 找到对

应的Servlet之后 通过反射技术实例化Servlet 并调用

service方法 在service方法中判断请求的方式是get还是

post如果是get 调用doGet方法 如果是post调用doPost

方法.

客户端发出请求的几种方式

1. 在浏览器地址栏中输入请求地址 发出的请求为 get

请求

2. 在html页面中通过超链接发出请求 也是get请求

3. 在html页面中通过form表单 发出请求 get/post请求方式GET和POST

Get请求: 请求参数在请求地址的后面, 由于参数可见

所以不能传递敏感信息, 请求参数大小受限 只能传递

4k以内的数据

浏览器地址栏中写请求路径 发出get请求

超链接 发出get请求

form表单 默认发出的是get请求

POST请求:请求参数放在请求体里面, 由于不可见所以

一般传递敏感信息, 请求参数没有大小限制, 一般文件

上传请求都使用POST

form表单 指定请求方式为post 时 method=post

发出post请求

SayHello练习

1. 创建demo04.html页面 在页面中准备form表单 提

交地址为sayhello 表单中一个文本框和一个提交按

2. 创建SayHelloServlet 处理路径为/sayhello 在doGet

方法中获取传递过来的内容 然后在内容后面拼接上

你好两个字 返回给客户端

BMI身体指数练习bmi= 体重(公斤)/(身高x身高(米)) 举例 70公斤 1.8

米 70/(1.8x1.8) =

对照表 bmi<18.5 偏瘦 18.5-24 正常体重 24-28

偏胖 大于28 肥胖

步骤:

1. 创建bmi.html页面 在页面中 准备form表单 提交

地址为bmi 在form表单中有两个文本输入框, 分别

获取用户输入的身高和体重 还有一个提交按钮

2. 创建BMIServlet 处理路径为 /bmi 在doGet方法中

获取传递过来的身高和体重, 得到的身高和体重为

字符串类型 需要先转成浮点数 之后再按照公式进

行计算, 按照上面的对照表 给客户端返回对应的信

息.

新工程中实现注册功能

1. 创建maven工程 选择webapp骨架 工程名

12servlet1_2

2. 配置Tomcat 点灯泡 删路径

3. 创建java和resources文件夹

4. 工程结构页面 打钩 和 添加Tomcat相关依赖

5. 创建reg.html页面 页面中添加form表单 提交地址为

reg 请求方式为post 页面中一个文本输入框和一个

密码框 和一个注册按钮6. 创建RegServlet处理路径为/reg 在doPost方法中获

取传递过来的用户名和密码,如果考虑用户名有中文的

话 需要获取参数之前设置字符集(因为请求方式为

post)

7. 把昨天工程中pom.xml文件中和数据库相关的两个依

赖复制到新工程pom.xml, DBUtils复制到cn.tedu包

下面 , jdbc.properties复制到resources目录下

8. 在doPost方法中获取连接 并执行SQL语句把用户名

和密码保存到数据库中

登录功能步骤:

1. 创建maven工程 选择webapp骨架 工程名

12servlet1_3

2. 配置Tomcat 点灯泡 删路径

3. 创建java和resources文件夹

4. 工程结构页面 打钩 和 添加Tomcat相关依赖

5. 创建login.html页面 页面中添加form表单 提交地

址为login请求方式为post 页面中一个文本输入框和一

个密码框 和一个登录按钮

6. 创建LoginServlet处理路径为/login 在doPost方

法中获取传递过来的用户名和密码,如果考虑用户名有中文

的话 需要获取参数之前设置字符集

7. 把上一工程中pom.xml文件中和数据库相关的两个依赖

复制到新工程pom.xml, DBUtils复制到cn.tedu包下

面 , jdbc.properties复制到resources目录下

8. 在doPost方法中获取连接 并执行SQL语句 查询到数

据返回登录成功没有查询到返回用户名或密码错误 参考

jdbc03工程中的Demo05

posted @ 2021-05-24 11:58  我挺菜  阅读(221)  评论(0)    收藏  举报