Javaweb
2021-03-31 22:54:03 25 举报
AI智能生成
请大家不要直接克隆,着手梳理一遍才会变成自己的知识
作者其他创作
大纲/内容
静态web
web页面无法自动更新
无法和数据库交互
动态web
web服务器
服务器是被动的操作,用来处理用户的请求和返回给用户响应
Tomcat
背景
开源免费
初学者首选
轻量型的应用服务器
应用
访问的都是webapps里面的文件
访问一个网站的全部过程
1、输入url
2、检查本地host文件有没有url的映射
3、如果找到映射,直接返回映射的IP去访问服务器的web程序
4、如果没有找到就去访问DNS服务器,找到url对应得服务器IP(UDP方式)
5、三次握手建立连接
6、发送和接受数据
7、四次挥手结束连接
Http
定义:超文本传输协议
建立在TCP之上
默认端口:80
https端口:443
两个时代
http1.0
客户端与服务器连接只能获得一个web资源
http1.1
客户端与服务器连接可以获得多个web资源
⭐http状态码
200请求成功
3XX重定向
4XX找不到资源
404页面丢失
5XX服务器代码错误
502网关错误
Maven(项目架构管理工具)
为什么要使用Maven
JavaWeb开发手动要导入大量的jar包
Maven可以帮我们导入和配置jar包
核心思想
约定大于配置
打包导出失败
在pom.xml下增加bulid配置
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
Servlet
简单使用
1、在java包里写类(继承HttpServlet类)
2、在web.xml配置映射关系
⭐ServletContext
类似银行,共享数据用的(共享数据)
数据共享
获得对象
this.getServletContext()
存放数据
context.setAttribute("key",value);
取出数据
context.getAttribute("key");
从xml中获取数据
xml存放数据
<context-param>
<param-name></param-name>
<param-value></param-value>
</context-param>
<param-name></param-name>
<param-value></param-value>
</context-param>
方法中取数据
context.getInitParameter("key")
Response实现重定向
resp.setRedirect("")
Cookie、Session
会话
用户打开浏览器直到关闭这一整个过程就是会话
Cookie
相当于通行证
通过请求和响应携带
使用
1、从请求中获得cookie
cookie[] cookies = req.getCookies();
2、遍历cookies,取到cookie的目标key
cookies[i].getName();
3、获取目标cookie的值
cookies[i].getValue();
4、新建一个cookie
new Cookie(String key,String value);
5、设置cookie保质期
newCookie.setMaxAge(24*60*60); //按秒为单位
6、把新建的cookie通过响应返回给客户端
resp.addCookie(newCookie)
cookie一般存放在用户的appdata目录下
cookie大小有限制,为4kb
⭐Session
服务器会给每个用户(浏览器)创建一个session对象
保存用户的信息
cookie中会自动有一个JSESSION的key,存放的value是session的id
JSP(JavaServePages)
java服务器页面,用于动态web
jsp页面可以编辑java代码
jsp页面会被编译成java文件运行
MVC三层架构
图解
Model
业务逻辑(Service)
数据持久层(Dao)
View
展示数据
发起请求
Controller
接受用户请求
把业务代码交给Service层处理
控制视图跳转
Filter过滤器
实现Filter接口---必须是servlet包下的类
xml注册
用途
⭐权限配置
过滤某些请求
解决乱码问题
0 条评论
下一页