java web总结

java web总结

在本阶段的学习中,我学习到了很多东西,例如如何做记住密码的操作,如何实现登录校验,怎么实现将数据库的数据展示到前端页面。在其中运用到了很多技术,最重要的就是servlet和jsp,其中包含包括cookie,session,el表达式,定位与重定向技术等等。收获很多,我觉得最重要的就是理解了一个maven项目的用处和用法,为今后的更多学习打下了基础。

一、maven项目

1、项目创建

选择maven项目,选取合适的模型

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vkunnJdj-1663251579773)(C:\Users\DELL\AppData\Roaming\Typora\typora-user-images\image-20220914173745632.png)]在这里插入图片描述

2、项目结构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-X8vPBFfS-1663251579774)(C:\Users\DELL\AppData\Roaming\Typora\typora-user-images\image-20220914174136722.png)]在这里插入图片描述

3、项目配置

添加java和resources文件夹

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9c7AJqYk-1663251579775)(C:\Users\DELL\AppData\Roaming\Typora\typora-user-images\image-20220914173920446.png)]在这里插入图片描述

设置配置文件为web4.0

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jvkny2Yf-1663251579775)(C:\Users\DELL\AppData\Roaming\Typora\typora-user-images\image-20220915190300081.png)]在这里插入图片描述

4、依赖包导入

在pom.xml中导入依赖

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EdFXmWQG-1663251579775)(C:\Users\DELL\AppData\Roaming\Typora\typora-user-images\image-20220915190342636.png)]在这里插入图片描述

二、tomcat

java_web项目的运行,需要java web服务器,常见的服务器有:

tomcat,JBoss,Resin,Jetty

添加tomcat的流程

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5Z8Q8GWB-1663251579775)(C:\Users\DELL\AppData\Roaming\Typora\typora-user-images\image-20220915190809819.png)]在这里插入图片描述

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PC7HQka7-1663251579775)(C:\Users\DELL\AppData\Roaming\Typora\typora-user-images\image-20220915190926189.png)]在这里插入图片描述

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ec1hCpnt-1663251579776)(C:\Users\DELL\AppData\Roaming\Typora\typora-user-images\image-20220915191205846.png)]在这里插入图片描述

三、servlet

1、Servlet是什么

servlet是sun公司制定的一种用于拓展web服务器的功能的组件规范。

2、Servlet的开发步骤

  • 新建一个java web项目工程(如maven项目,maven项目方便对导入包的管理.)
  • 创建一个servlet类,同时继承HttpServlet,重写其中的service方法.

3、主要任务

  • 读取客户端(浏览器)发送的显式的数据。这包括网页上的 HTML 表单,或者也可以是来自 applet 或自定义的 HTTP 客户端程序的表单。
  • 读取客户端(浏览器)发送的隐式的 HTTP 请求数据。这包括 cookies、媒体类型和浏览器能理解的压缩格式等等。
  • 处理数据并生成结果。这个过程可能需要访问数据库,执行 RMI 或 CORBA 调用,调用 Web 服务,或者直接计算得出对应的响应。
  • 发送显式的数据(即文档)到客户端(浏览器)。该文档的格式可以是多种多样的,包括文本文件(HTML 或 XML)、二进制文件(GIF 图像)、Excel 等。
  • 发送隐式的 HTTP 响应到客户端(浏览器)。这包括告诉浏览器或其他客户端被返回的文档类型(例如 HTML),设置 cookies 和缓存参数,以及其他类似的任务。

4.Servlet使用方式

  • request : 请求

  • response :响应

  • 设置编码方式

    resp.setContentType("text/html;charset=UTF-8");
            req.setCharacterEncoding("utf-8");
    
  • 获取参数

    req.getParameter("name");//name为前端传输过来的参数key
    //注意获取到的参数的数据类型,该方法的返回值为String类型,注意进行数据类型转换.
    
  • 处理数据

  • 响应结果

    PrintWriter writer = resp.getWriter();//得到输出流
    

    5、常用方法

    方法名返回值作用
    req.getParameterString获取参数
    resp.getWriter()PrintWriter得到输出流对象
    req.getContextPath()String得到项目的名字
    req.getServletPath()String获取当前页面路径
    request.getRequestDispatcher().forword()页面跳转
    req.setAttribute设置属性
    resp.sendRedirect()网页重定向

    6、web.xml的配置

        <servlet>
            <servlet-name>showTime</servlet-name>
            <servlet-class>action.ShowTime</servlet-class>
        </servlet>
        <servlet-mapping>
            <servlet-name>showTime</servlet-name>
            <url-pattern>/showtime</url-pattern>
        </servlet-mapping>
    

    7、生命周期

    • Servlet 初始化后调用 init () 方法。
    • Servlet 调用 service() 方法来处理客户端的请求。
    • Servlet 销毁前调用 destroy() 方法。
    • 最后,Servlet 是由 JVM 的垃圾回收器进行垃圾回收的。

    8、映射方式

    • /life : 精确地址 ,没有扩展名, 以/开始
    • /life.do: 精确地址, 有扩展名, 以 / 开始
    • *.do , 通配符 + 扩展名, 所有以.do结尾的请求,都会被拦截, 不能以/开始。
    • / , 拦截所有请求, 但不拦截jsp
    • /* , 拦截所有请求

四、jsp

1、什么是jsp

sp是一种运行在服务器端的页面, 它里面包含html , 嵌入一些java语言, 在服务器(tomcat)上经过 解析转换, 输出为html页面。

JSP是一种Java servlet,主要用于实现Java web应用程序的用户界面部分。网页开发者们通过结合HTML代码、XHTML代码、XML元素以及嵌入JSP操作和命令来编写JSP。

2、jsp的优点

  • 与ASP相比:JSP有两大优势。首先,动态部分用Java编写,而不是VB或其他MS专用语言,所以更加强大与易用。第二点就是JSP易于移植到非MS平台上。
  • 与纯 Servlet 相比:JSP可以很方便的编写或者修改HTML网页而不用去面对大量的println语句。
  • 与SSI相比:SSI无法使用表单数据、无法进行数据库链接。
  • 与JavaScript相比:虽然JavaScript可以在客户端动态生成HTML,但是很难与服务器交互,因此不能提供复杂的服务,比如访问数据库和图像处理等等。
  • 与静态HTML相比:静态HTML不包含动态信息。

3、jsp的创建使用

<%--
page: 指令 , 用于对jsp做一些设置 ,比如:contentType="text/html;charset=UTF-8" ,
设置了网页的类型和编码方式
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
  • 在jsp中使用java语句

    <%
        for (int i = 1; i <= 20; i++) {
            if (i % 2 == 0) { %>
                <div class="shuang"></div>
                <%
                } else {
                %>
                <div class="dan"></div>
                <%
            }
        }
    %>
    
  • jsp的本质是servlet。 当第一个访问一个jsp页面的时候, 会将jsp文件, 对应生成一个servlet类。 html , js , css这种内容就用输出语句拼接。 其他和java相关的内容,就按java的方式转换。

五、session和cookie的使用

  • cookie : 客户端状态管理的技术
  • session:服务器端状态管理技术

cookie

  • cookie: 用于保存客户端的状态的计数。 当我们有多次请求的时候,这个多次请求被看做一个整 体,这个整体中有些数据需要保存的时候,可以使用cookie,把数据保存在浏览器中。
  • cookie使用的方式:
    • 服务器端代码中,创建cookie对象,在response中添加cookie
    • 客户端访问服务器的时候,会将把当前访问路径有关的cookie发送到服务器端
    • 服务器端可以在request中获取到cookie数据,然后对这些数据进行使用
    • 浏览器可以设置禁用cookie,或者用户可以删除cookie数据,用户可以查看到cookie数据, 所以重要数据不能直接保存在cookie中。
    • cookie中存储的是string , 并且存储的数据大小也有限。 cookie 可以设置有效期,过期之后,cookie会被浏览器清除掉

session

  • session.getAttribute()获取session
  • session.removeAttribute() 删除session
  • session默认在会话期间有效
    • 如果没有设置session的有效期, 默认的有效期是30分钟
  • getSession(boolean) : true, 同getSession()功能, false , 如果找不到session对象,就返回null.
  • 一般在退出系统的时候,需要清空session中保存的数据, 使用invalidate方法,让session失 效。

六、其他

过滤器

过滤器类型: 过滤器是sun提供一个组件, 需要依赖于tomcat容器运行。 过滤器的执行过程: 访问请求的时候,先根据过滤器的配置,符号过滤器路径的请求,则先进入到过滤 器中执行,执行结束之后,再根据情况,看是否需要进入到servlet中。

监听器

监听器在后台工作,可以设置需要监听的内容

jsp的内置对象

  • equest : 请求
  • session : 会话
  • out : 输出语句
  • response : 响应结果
  • page : 类似于this pageContext : 有效范围只在当前的jsp页面上。
  • application: ServletContext
  • config : servlet的数据
  • exception: 异常

java web 作用域

  • pageContext :只在当前页面有效
  • request : 请求期间有效
  • session: 会话期间有效
  • application : 程序运行期间有效

ajax的使用

eContext : 有效范围只在当前的jsp页面上。

  • application: ServletContext
  • config : servlet的数据
  • exception: 异常

java web 作用域

  • pageContext :只在当前页面有效
  • request : 请求期间有效
  • session: 会话期间有效
  • application : 程序运行期间有效

ajax的使用

ajax: 异步请求, 网页的局部更新 使用jquery的ajax 函数,实现异步请求的发送,获取到数据之后,使用jquery 将数据渲染到网页上。

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值