Javaweb基础
Javaweb基础
web简介
| 代码 | 服务器端 | 客户端 |
|---|---|---|
| Application代码 | ||
| java代码 | web服务器 | h ttp: //IP:Tomcat端口号/应用名/servlet的访问路径 |
| servlet/controller | Tomcat | |
| service层代码 | ||
| dao层代码 | ||
Application代码
java代码
servlet/controller
service层代码
dao层代码
Java Web的三大组件:
(1) Servlet
(2) Filter(过滤器)
(3) Listener(监听器)
Servlet
要求
- implements(实现) Servlet接口
- 或者extends(继承) HttpServlet类,
- 符合Servlet规范
- 要放在符合Servlet规范的web服务器中运行以后才能访问
Servlet.class中5个抽象方法
- init(ServletConfig) : void
- getServletConfig() : ServletConfig
- service(ServletRequest, ServletResponse): void
- getServletInfo(): String
- destroy(): void
tomcat
Tomcat目录结构
- bin目录
- 存放所有可执行文件或批处理文件
- 如启动关闭tomcat shelll脚本文件
- conf目录
- 存放tomcat的配置文件,最主要的是server.xml
- 修改端口: conf /server.xml ➡< Connector port = "8080" />
- logs
- tomcat运行时产生的日志文件
- webapps目录
- web应用所应存放的目录
web项目的目录结构
项目名
src 🍪存放java代码
WebRoot
WEB-INF
classes 🍪存放class文件
lib 🍪存放项目依赖的Jar包
web.xml 🍪配置Servlet
静态公共资源🍪css文件、js文件、img文件
- web.xml
- JavaWeb工程的核心配置文件
- 用于配置JavaWeb的三大组件: Servlet Filter Listener
HTTP协议
HTTP: Hyper Text Transfer Protocal 超文本传输协议
- 无状态的协议
- HTTP协议的底层是TCP/IP协议
- JavaWeb项目客户端(浏览器)和服务器(如tomcat)端通信的协议
http请求
- HTTP请求有7种方式(不区分大小写):
POST(工作中用的最多) 、GET
HEAD、OPTIONS、DELETE、TRACE、PUT
-
GET请求方式
http : // localhost : 8080 / javaweb / hello ? username=xxx & sex=1-
key = value 🍪键值对
参数名 = 参数值
-
? 后面是参数列表
- 每个参数之间用
&分割 - 每个参数用
参数名 = 参数值表示
- 每个参数之间用
-
-
HTTP请求结构
- 请求头Request Headers
- 响应头ResponseHeaders
常见HTTP状态码
404 Not Found
- 请求资源未找到
- 使用重定向或直接访问WEB-INF下面的资源
http://IP:tomcat端口号/应用名/url-pattern
端口号后面的应用名和URL-pattern地址不正确就会返回404错误
500 服务器内部错误
代码报错,捕获异常
405 请求方式不对
比如:表单提交的方式是post 但是servlet的中方法doGet 就会报: 405
403 请求禁止
请求权限问题
401 未授权
Unauthorized
400 Bad Request
服务器端返回到客户端的状态码400, 客户端显示的就是400
200 Query OK
正常返回
302 重定向状态码
Servlet的运行过程
HttpServletRequest中的重要方法
HttpServletResponse中的重要方法
请求参数传递的方式(请求类型)
传递请求参数的方式:GET和POST(请求方式不区分大小写)
GET
- GET请求传参的方式: 浏览器发送HTTP请求的7种方式之一
- form的method属性默认值为get请求
POST
- POST请求传参的方式: 浏览器发送HTTP请求的7种方式之一
- 浏览器发送请求的2种方式(表单提交和Ajax)
- 当form的method属性值为post的时候
GET和POST传递请求参数的区别
get请求
- get
http://192.168.43.7:8080/java_web/hello?username=xxx&pwd=123
- post form data
http://192.168.43.7:8080/java_web/hello
| 比较点 | get | post |
|---|---|---|
| url传递形式 | 参数显示在地址栏上 | 不显示 |
| 传递数量的大小 | 最大为1024字节 | 无限制 |
| 是否是表单的默认提交方式 | 是 | 不是 |
| 请求的默认编码 | ISO-8859-1(不支持中文) | 支持多种编码 |
| 请求参数封装在什么地方 | QueryStringParameters | Form Data |
| 执行效率 | 高 | 相对低 |
- get请求在浏览器的地址栏中有显示,它的参数在url上 url?参数名=值&参数名=值&参数名=值(不安全)
- get请求方式提交的数据最大只能是1024字节
- get是表单的默认提交方式
- get请求默认编码ISO-8859-1(不支持中文) ---> ISO-8859-1--->UTF-8(中文乱码)
- 请求参数 --> query string parameters
- 执行效率高
post请求
- post请求参数不在浏览器地址栏的url上, post方式内容在请求体Response Body中(相对安全)
因此可以用post方式对比较敏感的数据进行隐藏提交- post提交的数据大小没有限制(因此post方式适用于大数据量传输,如文件上传)
- 不是表单的默认提交方式
- 执行效率相对于get请求来说低一点
- post请求 不是ISO-8859-1编码
- 请求参数 ---> form data

浙公网安备 33010602011771号