博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
web开发基础
阅读量:4633 次
发布时间:2019-06-09

本文共 2493 字,大约阅读时间需要 8 分钟。

web开发:所谓web开发就是基于浏览器服务器的开发

下面将web开发基础知识作个总结:
1.http协议:是建立在TCP协议上的,基于请求响应的模型
2.http请求:
面试题:说说get与post的区别
a.传递数据量:
get只能传递1kb以下的数据,post可以传递大数据
b.安全性:
get请求,如果携带参数,参数会直接显示在浏览器上,而post不会
所以post请求会更安全
c.get请求,有请求参数,参数是在请求行的资源路径上
post请求,请求参数在请求正文中,这就解释了第二条,为什么post请求更安全
开发中,如果请求响应的是页面,则一般用get请求,不需要携带参数
如果需要传递数据参与计算,或者js中的请求等等,常需要数据的交互,则使用post
开发中常常使用chrome查看请求响应的内容,作调试
3.servlet:
web开发的核心java类,主要功能是接收浏览器的请求(数据),内部作相关运算,给出响应
编写Servlet类:

public class LifeServlet implements Servlet{  @Override  public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException {  //接收请求,响应,类似于控制层的代码  //这里请求,响应是可以自己设置的,自己设置请求头,请求体,响应头,响应状态,响应内容  }}

4.request,response

当服务器接收到请求后,请求信息就会封装到request对象中,服务器给出响应后,响应信息就会封装到response中
request的生命周期:
接收请求时创建,产生响应后就会销毁,只存在一次请求响应之间
注意:
从Servlet跳转到jsp不算响应结束了,因为request域对象在jsp中还是可以用的,这是jsp的内置对象,后面会讲到
应该这样说,从Servlet跳转到jsp,数据被jsp解析(el表达式各种)显示出来了,这样才算响应了,才是一次完整的请求响应
那么程序是怎样从Servlet跳转到jsp的呢?
两种方式:请求转发和重定向
它们的区别是什么?
先看看继承HttpServlet后重写的doPost方法(写Servlet的另外一种方式,该方法相当于service方法)里面的一块代码:

public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {.......//请求转发//将学生列表设置到requet中//request.setAttribute("student_list", studentList);//转发是在服务器端转发的,客户端是不知道的//request.getRequestDispatcher("/student_list.jsp").forward(request, response);//重定向//将studentList放到session中HttpSession session = request.getSession();session.setAttribute("student_list", studentList);response.sendRedirect(request.getContextPath() + "/student_list.jsp");}

说明:

请求转发是一次请求响应,转发发生在服务器内部,所以在这期间,requet域数据是共享的,所以可以数据可以存在requet域中,然后转发
重定向实际上是一次请求响应,然后再一次请求响应,这样显然数据不能存在requet域中,可以存在session中,然后重定向
为什么可以存在session中,涉及到session保存数据的周期,后面会讲到
请求转发在服务器端完成的,重定向是在客户端完成的
请求转发的速度快,重定向速度慢
因为是一次请求,所以请求转发地址栏没有变化,而重定向地址栏会发生变化
请求转发必须在一台服务器下完成,重定向可以在不同服务器下完成
5.cookie与session
这是浏览器的会话技术
什么是会话:就是打开浏览器到关闭浏览器就是一次会话
cookie是什么?
可以这样理解:
当浏览器请求服务器的时候,服务器会创建cookie(里面存储的访问数据)
然后在响应的时候,将cookie发送给浏览器,最后在浏览器保存
默认情况下:cookie的生命周期是一次会话,也就是关闭浏览器就没了
可以使用方法,让cookie持久化(时间),让其关闭浏览器还存在,这有什么用?后面会讲到
session:
session是服务端的会话技术,但是session的实现依赖cookie
默认情况下:session的生命周期也是一次会话.

这就解释了为什么在关闭浏览器后,再次打开时又要重新登录了(登录信息存在session 中)

依赖cookie,这也解释了为什么在浏览器清楚缓存后,也是要重新登录页面的

在tomcat/conf/web.xml文件中有一段配置了如果session如果在30分钟没有使用就会销毁,这是可以更改的
6.jsp的九大内置对象
就是直接可以在jsp上使用的对象,包括request域对象,session域对象等
其实jsp本质上是个特殊的servlet,就是为了接收数据显示数据
接收数据,数据可以存在域对象中,也可以存在封装好的javaBean中
显示数据,各种el表达式,jq前端框架
工作中session域中存放:用户信息,用户角色,对于模块
存用户角色是为了权限控制,在前端判断按钮的显示等等

 

转载于:https://www.cnblogs.com/jaro/p/9020841.html

你可能感兴趣的文章
【Flask】flask+uwsgi+nginx环境部署
查看>>
Get MAC address using POSIX APIs
查看>>
bzoj2120
查看>>
基于uFUN开发板的心率计(一)DMA方式获取传感器数据
查看>>
【dp】船
查看>>
oracle, group by, having, where
查看>>
⑥python模块初识、pyc和PyCodeObject
查看>>
object-c中管理文件和目录:NSFileManager使用方法
查看>>
Kibana:分析及可视化日志文件
查看>>
nodejs pm2使用
查看>>
物联网兴起 嵌入式系统安全日益受关注
查看>>
cocos2d-x 3.10 PageView BUG
查看>>
装饰器的基本使用:用户登录
查看>>
CSS选择器总结
查看>>
第三周-第08章节-Python3.5-文件修改详解
查看>>
npm修改淘宝原
查看>>
通过代理进行页面传值
查看>>
Vue-Resource请求PHP数据失败的原因
查看>>
搭建vue.js环境
查看>>
《xxx系统》分析
查看>>