web项目所用到的知识点梳理

刚写完快递e栈的项目,对所涉及的知识点进行梳理。

1. 服务器的搭建:
  1. 使用的服务器是:apache-tomcat-8.5.34
    在IntelliJ IDEA配置Tomcat:
    在这里插入图片描述
    点击左侧“+”号,找到Tomcat Server—Local
    在这里插入图片描述
    在Tomcat Server -> local-> Server -> Application server项目下,点击 Configuration ,找到本地 Tomcat 服务 器,再点击 OK按钮。
    在这里插入图片描述
    到这里,IntelliJ IDEA配置Tomcat完成。
2. 创建javaWeb项目
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201217094359422.png)

在这里插入图片描述
编辑完项目名称,以及项目根路径,直接下一步就可以。

3. Servlet

Servlet 主要的功能在于交互地浏览和修改数据,生成动态Web内容。

  1. Servlet工作模式:
    ① 客户端发送请求至服务器
    ② 服务器启动并调用Servlet,Servlet根据客户端请求生成响应内容并将其传给服务器
    ③ 服务器将响应返回客户端

  2. Servlet的使用:
    ① 需要先创建一个Servlet
    ② 重写Servlet中的init(),service()的方法
    init()方法主要的作用是加载初始化参数
    service()方法主要是用于处理不同的请求
    ③ 在XML配置好Servlet的映射关系

  3. 当用户发送请求时,xml文件的执行流程:
    ① 用户发送请求时,根据< servlet-mapping>的< url-patten>对请求进行解析,找到< servlet-name>.
    ② 通过< servlet-name>找到对应的处理请求的类< servlet-class>的完整路径。

  4. Servlet的生命周期:
    ① 当客户第一次发送请求时,Servlet容器(web服务器(tomcat))对请求进行解析,根据请求找到对应的servlet,判断该类的对象是否存在,不存在则创建servlet实例,调用init(),进行初始化操作,初始化完成后调用service()方法,有service()方法来判断用户的请求方式,如果是get,则执行doGet(),如果是post则执行doPost().处理方法完成后,作出响应,将结果传给客户端.单次请求处理完毕。
    ② 当用户发送第二次以后的请求时,会判断对象是否存在,但是不再执行init(),而直接执行service方法,调取 doGet()/doPost()方法。
    ③ 当服务器关闭时调取destroy()方法进行销毁。
    简单分为四个过程:
    ① 实例化–先创建servlet实例
    ② 初始化–调用init()方法
    ③ 处理请求–调用service()方法
    ④ 服务终止–调用destory()方法

  5. HttpServletRequest常用的方法:
    ① String getParameter(String name) 根据表单组件名称获取提交数据,返回值是String
    ② void setCharacterEncoding(String charset) 指定每个请求的编码(针对post请求才起作用)【但是这里不推荐使用,通过Servlet对请求的编码进行指定,会导致代码冗余并且不灵活,可以使用Filter对于编码方式进行统一规范。】
    ③ RequestDispatcher getRequestDispatcher(String path) --跳转页面,返回一个RequestDispatcher对象,该对象的forward( )方法用于转发请求
    ④ 存值 request.setAttribute(“key”,value)
    ⑤ 取值 request.getAttribute(“key”);

  6. 响应(HttpServletResponse)常用的方法:
    void addCookie(Cookie var1);//给这个响应添加一个cookie
    void sendRedirect(String var1) ;//发送一条响应码,将浏览器跳转到指定的位置
    PrintWriter getWriter() 获得字符流,通过字符流的write(String s)方法可以将字符串设置到response 缓冲区中, 随后Tomcat会将response缓冲区中的内容组装成Http响应返回给浏览器端。
    setContentType() 设置响应内容的类型

  7. 会话(Session)
    request存的值只能在单次请求中保存,保存的数据不能跨页面,当重定向时,request存的值会丢失.
    session的数据可以在多个页面中共享,即使重定向页面,数据不会丢失.
    会话的概念:从打开浏览器到关闭浏览器,期间访问服务器就称为一次会话

  8. 会话常用方法:
    void setAttribute(String key,Object value) 以key/value的形式保存对象值,将数据存储在服务器端
    Object getAttribute(String key) 通过key获取对象值 void invalidate() 设置session对象失效
    String getId() 获取sessionid,当第一次登录成功后,session会产生一个唯一的id,浏览器之后访问时如果发现id值 还是之前id,那么说明 当前访问的属于同一个会话
    void setMaxInactiveInterval(int interval) 设定session的非活动时间
    int getMaxInactiveInterval() 获取session的有效非活动时间(以秒为单位),默认的有效时间:30分钟
    void removeAttribute(String key) 从session中删除指定名称(key)所对应的对象
    小结 :让session失效的方式
    (1)invalidate() (2)removeAttribute(“key”) (3)直接关闭浏览器

  9. 注解
    注解(提供给程序读取的信息)
    注解的格式:@开头的 如:@Override
    @WebServlet注解配置Servlet 从Servlet3.0开始,配置Servlet支持注解方式,但还是保留了配置web.xml方式,所有使用Servlet有两种方式:
    (1)Servlet类上使用@WebServlet注解进行配置 (2)web.xml文件中配置
    @webServlet常用属性:
    在这里插入图片描述

loadOnStartup属性:标记容器是否在启动应用时就加载Servlet,默认不配置或数值为负数时表示客户端第一 次请求Servlet时再加载;0或正数表示启动应用就加载,正数情况下,数值越小,加载该Servlet的优先级越高;
urlPatterns/value属性: String[]类型,可以配置多个映射,如:urlPatterns={"/user/test", “/user/example”}

(5).urlPatterns的常用规则:

/*或者/:拦截所有

*.do:拦截指定后缀 

/user/test:拦截路径
JSP
  1. JSP是在传统的网页HTML文件(.htm,.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为 (*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。

  2. JSP中如何嵌套java代码
    ① 声明标签 <%!变量或者方法声明%>
    ② 表达式标签 <%= 表达式%> 在页面上显示的效果
    ③ 程序代码标签 <%java代码%> 页面上动态展示内容
    注释:
    < !-- html注释内容,查看源码时能看到 -->
    <%-- jsp注释,查看页面源码时看不到 --%>

  3. JSP的内置对象有9个:分别为:request、response、session、application、out、 pagecontext、config、page、exception
    ① request:
    该对象代表了客户端的请求信息,主要用于 接受通过HTTP协议传送到服务器的数据。(包括头信息、系统信息、请求方式以及请求参数等)。request对象的 作用域为一次请求
    ② response对象:
    response 代表的是对客户端的响应,主要是将JSP容器处理过的对象传回到客户端。response对象也具有作 用域,它只在JSP页面内有效。所属类型:HttpServletResponse
    ③ session对象:
    session 对象是由服务器自动创建的与用户请求相关的对象。服务器为每个用户都生成一个session对象,用于保存该用户的信息,跟踪用户的操作状态。session对象内部使用Map类来保存数据。保存数据的格式为:Key/Value
    ④ application对象
    application 对象可将信息保存在服务器中,直到服务器关闭,否则application对象中保存的信息会在整个应用 中都有效。与session对象相比,application对象生命周期更长,类似于系统的“全局变量” ServletContext
    ⑤ out 对象
    out 对象用于在Web浏览器内输出信息,并且管理应用服务器上的输出缓冲区。在使用 out 对象输出数据时, 可以对数据缓冲区进行操作,及时清除缓冲区中的残余数据,为其他的输出让出缓冲空间。待数据输出完毕后,要及时关闭输出流。
    ⑥ pageContext 对象
    pageContext 对象的作用是取得任何范围的参数,通过它可以获取 JSP页面的out、request、reponse、 session、application 等对象。pageContext对象的创建和初始化都是由容器来完成的,在JSP页面中可以直接使用 pageContext对象
    ⑦ config 对象
    config 对象的主要作用是取得服务器的配置信息。通过 pageConext对象的 getServletConfig() 方法可以获取 一个config对象。当一个Servlet 初始化时,容器把某些信息通过config对象传递给这个 Servlet。 开发者可以在 web.xml 文件中为应用程序环境中的Servlet程序和JSP页面提供初始化参数
    ⑧ page 对象
    page 对象代表JSP本身,只有在JSP页面内才是合法的。
    ⑨ exception 对象
    exception 对象的作用是显示异常信息,只有在包含 isErrorPage=“true” 的页面中才可以被使用

  4. jsp的作用域:
    pageContext(当前页面) -> request(单次请求) -> session(当前会话期间) -> application(服务器运行期间)

4. EL表达式

JSP中简化对象和变量访问的是EL表达式

语法格式:${需要展示信息的名字}

注意:当表达式没有指定变量或者对象的范围时,那么容器会依次从pageContext—>request—>session—>application中查找该变量或对象,我们可以通过隐含对象获得指定作用域的值:
pageScope对象,用于获取当前页面的属性值
requestScope对象,用于获取请求范围的属性值
sessionScope对象,用于获取会话范围的属性值
applicationScope对象,用于获取程序范围的属性值

EL中的简单操作符:
在这里插入图片描述

5. Filter(过滤器)
  1. 什么是过滤器:过滤器:过滤器实际上就是对web资源进行拦截,做一些处理后再交给下一个过滤器或servlet处理,通常都是用来拦截 request进行处理的,也可以对返回的response进行拦截处理
  2. 过滤器的使用:
    ① 创建一个类实现Filter接口
    ② 重写接口中的方法doFilter()
    ③ 在web.xml文件中配置
6.MVC

MVC主要将项目分为三个部分来进行代码的编写,视图(View)、控制器(Controller)、模块(Model).
① 视图:视图提供模型的展示,管理模型如何显示给用户,它是应用程序的外观;(jsp/html)(简单来说就是:将处理完用户的请求的结果发送到客户端页面进行显示)
② 控制器:对用户发送的请求进行处理,通过调用service方法进行处理,管理用户和视图的交互,是连接视图和模型的枢纽
③ 模型:管理和处理模块中用到的数据和值(javabean、dao)

MVC执行流程:
在这里插入图片描述

7.AJAX
  1. AJAX是一种可以实现不重新加载整个页面的情况下,实现数据的交互和更新部分网页的技术

  2. AJAX的使用格式:
    $.ajax({
    url: 请求地址 type:"get | post | put | delete " 默认是get,
    data: 请求参数 {“id”:“123”,“pwd”:“123456”},
    dataType: 请求数据类型"html | text | json | xml | script | jsonp ",
    success: function(data,dataTextStatus,jqxhr){ },//请求成功时
    error: function(jqxhr,textStatus,error)//请求失败时 })

  3. get() 方法通过远程 HTTP GET 请求载入信息
    $.get(url,data,function(result) { //省略将服务器返回的数据显示到页面的代码 });

  4. post() 方法通过远程 HTTP GET 请求载入信息。
    $.post(url,data,function(result) { //省略将服务器返回的数据显示到页面的代码 });
    url:请求的路径
    data:发送的数据
    success:成功函数
    datatype 返回的数据

JSON

json是一种数据交换格式,以键值对的形式存在。【值可以是多种类型,字符串、数组,json类型等等】

json对象,顾名思义,就知道它是一个对象。里面的key就是对象的属性。我们要访问一个对象的属性,只需要使 用【对象名.属性名】的方式访问即可。

Java对象和JSON之间的转换

//	将java对象转换为json对象
Users user2=new Users(); 
user2.setUsername("李四"); 
user2.setPassword("abc"); 
user2.setAge(20); 
JSONObject obj=JSONObject.fromObject(user);//obj就是json格式的
//	将json对象转换为java对象
String str="{'username':'李四','password':'admin','age':19}"; 
JSONObject json=JSONObject.fromObject(str); 
Users user=(Users)JSONObject.toBean(json,Users.class);
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值