JavaWEB八:web各工具的功能及配合逻辑

JavaWEB各工具的功能及配合

一、各工具的功能
  1. HTML

    超文本,用于页面框架的构建及内容的显示,内容包括层、段落、表格、表单等。

  2. CSS

    用于对HTML页面的美工,比如:表格框线的样式、颜色、粗细;文字的颜色、字体等;层之间的布局关系

  3. Javascript

    事件触发的页面内部分内容的动画,比如:鼠标移动到该区域,该区域就会变色;或鼠标点击某处,会删除等

  4. Tomcat

    是一款实现类JavaEE规范中的Servlet和JSP的轻量级服务器,客户端可通过tomcat实现与数据库之间的交互

  5. Servlet

    JavaEE规范中的一种,通过服务的调用,匹配不同的请求,与数据库交互,并响应到html页面上

  6. Thymeleaf

    Java语言的模板引擎之一,将Servlet组件中获取到的数据库内的数据(为集合形式),动态的渲染到html页面中,是HTML页面的内容时刻与数据库中的数据同步更新。且Thymeleaf语言也是嵌套在HTML语言内的。

二、流程逻辑图
  1. 请求与响应的流程逻辑图

在这里插入图片描述

  1. HTML与数据库之间的数据互传

    在这里插入图片描述

  2. 流程之间的衔接要点

    在这里插入图片描述

三、几处跳转写法的甄别
  1. @WebServlet注解,一定要加斜杠
    @WebServlet("/add.do")
    
  2. html文件内的跳转标签
    第一种:转到具体的html文件上,要加斜杠及后缀文件格式
    <a th:href="@{/add.html}"></a>
    
    第二种:转到对应的组件上,并传参
    <a th:href="@{/edit.do(cid=${cust.id})}"></a>
    
    第三种:转到对应的js文件上
    <a th:onclick="|delCust(${cust.id})|"></a>
    
    第四种:普通html表单请求
     <form action="add.do" method="post">
         
    第五种:已经组装的html内的表单请求
    <form th:action="@{/update.do}" method="post">
    
  3. js文件内跳转到组件
    function delCust(s) {
        if (confirm('是否确认删除')) {
            // sid是传递在url框上的参数,同时也是被del.do所对应的组件所获取的参数来源
            window.location.href = 'del.do?sid=' + s;
        }
    }
    
  4. Servlet组件对html文件的组装
    // 确定保存作用域的方式,此处是请求保存作用域,也可以是session
    req.setAttribute("cu" ,customer);
    // 调用模板处理方法
    super.processTemplate("edit",req,resp);
    
  5. 组件跳转到组件
    // 服务器内部转发
       req.getRequestDispatcher("index").forward(req,resp);
    // 重定位
       resp.sendRedirect("index");
    
  6. 没有被组装的html文件内不能使用thymeleaf语言,且base标签一定要写对(很重要)
    <!-- 
    	href中,localhost:8080/后跟着的,
    	一定要和tomcat服务器配置中的application context的参数一样,和模块名一点关系都没有
    -->
    <head>
        <meta charset="UTF-8">
        <base href="http://localhost:8080/servlet/" >
        <link rel="stylesheet" href="CSS/index.css" >
    
    </head>
    

    在这里插入图片描述

  7. html链接css与js
    链接css文件:href
    <link rel="stylesheet" href="CSS/index.css" >
    
    链接js文件:src
    <script language="JavaScript" th:src="@{js/index.js}" ></script>
    
  8. href和src的区别

    href :表示超文本引用(hypertext reference),在 link和a 等元素上使用。

    src : 表示来源地址,在 img、script、iframe (嵌套html)等元素上

四、错误汇总
  1. SQL语句出现语法错误,出现空页面

    ① 增加了占位符,却没有传入足够的参数

    ② 数据表名没有写正确

    ③ 字段名没有写正确

    ④ 没有起与bean中的类内属性名相同的别名

  2. NumberFormatException:数字格式化异常

    req获取参数后,得到的字符串被转换为int类型时,没有提前判断该字符串是否不为空。因为字符串如果为null,那么就无法转换为数字。

    String pageStr = req.getParameter("page");
    pageOn = Integer.parseInt(pageStr);
    

    正确的写法

    String pageStr = req.getParameter("page");
    if (StringUtil.isNotEmpty(pageStr)) {
        pageOn = Integer.parseInt(pageStr);
    }
    
  3. 跳转处的写法一定要正确
  4. 链接js文件处误写成了href=,正确应写成src=
  5. ClassCastException:类型无法转换

    使用count( )聚合函数,其返回的是bigint类型,故使用DAO时,其返回的数据类型应设为Long,不能直接设置为Integer

  6. like模糊查询

    如果要全部查询,要写成 : like = “” 或 like= “_” ,绝对不能是(空格)like = " "

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

e_nanxu

感恩每一份鼓励-相逢何必曾相识

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值