Javaweb考前复习冲刺(不断更新版)

Javaweb考前复习冲刺

第一章: JavaWeb 入门

JavaWeb是指:以Java作为后台语言的项目工程。

javaweb项目创建的过程:

  1. 首先集成Tomcat服务器环境
  2. 新建dynamic web project
  3. 部署工程
  4. 运行

路由含义:

http://localhost:8080/工程项目名/(文件夹)/页面名。

py 复制代码
<%=application.getRealPath("") %>  工程部署路径
# D:\java_exerise\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\component\

第二章 静态网页设计:

​ 一个网页是动态网页还是静态网页就是否还有 前端三件套(HTML、CSS、Javascript)之外的内容。

​ 动态网页是指网页中有需要服务器执行的元素,文件扩展名是jsp,动态页面中除了上述静态元素外,还包括服务器端脚本代码(Java)、指令、动作标签,表达式语言等。

动态网页中 静态成分和动态成分的执行顺序:

jsp 复制代码
<%@ page pageEncoding="UTF-8" import="java.util.Date" %>
<html>
<body>
<script>
document.write(new Date());
</script>
<br/>
<%
out.print(new Date());
%>
</body>
</html>
Sun Dec 17 2023 12:43:16 GMT+0800 (中国标准时间)
Sun Dec 17 12:43:15 CST 2023

网页会先执行java代码,再执行js代码。我们可以理解为out.print(new Date()); 属于后台代码,只不过我们的服务器本地而已。

HTML:

网页的基本框架是由一个个标签组成的,标签又分为块级标签和行内标签。

块级标签:

  • 块级标签以新行开始,占据一整行的宽度,不与其他元素并排显示。

  • 常见的块级标签有 <div>、<p>、<h1> - <h6>、<ul>、<ol>、<li>、<table> 等。

行内标签:

  • 内标签不会独占一行,与其他元素并排显示,根据内容的大小自动调整宽度
  • 常见的行内标签有 <span>、<a>、<strong>、<em>、<img>、<input>、<label>
列表:

有序列表:

<ol type="序号类型">
  <li>......</li>
  <li>......</li>
</ol>

无序列表:

<ul type="类型样式">
 <li>.......</li>
 <li>......</li>
</ul>

定义列表:】

自定义列表不仅仅是一列项目,而是项目及其注释的组合。

自定义列表以
:
开始。

<dl>
  <dt>名词1</dt>
  <dd>解释1</dd>
  <dt>名词2</dt>
  <dd>解释2</dd>
</dl>
html 复制代码
<dl>
  <dt>Coffee</dt>
  <dd>- black hot drink</dd>
  <dt>Milk</dt>
  <dd>- white cold drink</dd>
</dl>
表格:
  • 表格的标题使用了 <thead> 元素,表格的主体数据使用了 <tbody> 元素。

  • <tfoot>:用于定义表格的页脚部分。页脚位于表格主体之后,可以包含汇总信息等内容。

  • <caption>:用于为整个表格添加标题,位于表格的上方。一个表格只能有一个 <caption> 元素。

html 复制代码
<table>
  <caption>这是表格标题</caption>
  <thead>
    <tr>
      <th>列标题1</th>
      <th>列标题2</th>
      <th>列标题3</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>行1,列1</td>
      <td>行1,列2</td>
      <td>行1,列3</td>
    </tr>
    <tr>
      <td>行2,列1</td>
      <td>行2,列2</td>
      <td>行2,列3</td>
    </tr>
  </tbody>
  <tfoot>
    <tr>
      <td colspan="3">这是表格页脚</td>
    </tr>
  </tfoot>
</table>
表单元素:

文本输入框:

html 复制代码
  //  placeholder 设置提示词 
文本框:<input type="text" placeholder="请输入用户名"> 

密码框:

html 复制代码
  密码框:<input type="password">
  密码框:<input type="password" placeholder="请输入密码">

上传文件:

html 复制代码
 上传文件:<input type="file">
//上传多个文件 
上传文件:<input type="file" multiple>

单选框:

  // 只有radio的时候,无法实现多选,设置name后可以实现单选 一组只能选择一个 
  //checked 默认选中的 
<input type="radio" name="gender"> 男
<input type="radio" name="gender" checked> 女

复选框:

html 复制代码
  //多选框 默认选中
  <input type="checkbox"> 敲代码
  <input type="checkbox" checked> 敲前端代码
  <input type="checkbox" checked> 敲前端 HTML 代码下拉框:
html 复制代码
//下拉框
  <select>
    <option>北京</option>
    <option>上海</option>
    <option>广州</option>
    <option>深圳</option>
    <option selected>武汉</option>
  </select>

多行文本输入框:

 //多行文本框
<textarea>请输入评论</textarea> 

开发中常使用label和input输入框配套使用,增加用户视觉效果:

html 复制代码
<input type="radio" name="gender" id="man"> <label for="man">男</label>
  <label><input type="radio" name="gender"> 女</label>

表单:

<form name="表单名" method="提交方法" action="处理程序">
    ......... 
</form>
html 复制代码
<form action="">
    用户名:<input type="text">
    密码:<input type="password">
    <!-- 如果省略 type 属性,功能是 提交 -->
    <button type="submit">提交</button>
    <button type="reset">重置</button>
    <button type="button">普通按钮</button>
  </form>
CSS:

​ CSS是用于对html元素进行修饰美化的,颜色背景字体大小透明度等等。

CSS的三种形式:

css 复制代码
  <style>
    /* 定义 */
    .red {
      color: red;
    }
</style>
<div style="color: green; font-size: 30px;">这是 div 标签</div>
<link rel="stylesheet" href="./my.css">
css 复制代码
背景:
	background-image:url('gradient2.png');
文字对齐:
	text-align:center; //用于设置文字对其 在块元素中 right/left/justify justify每一行的宽度相同
	vertical-align:center;	 垂直居中文字
块元素居中:
	margin: auto;(必须要设置宽度后才有效果)
	.clearfix { 清除浮动的影响
    overflow: auto;}
	
浮动:
	float:right; 如果是图片浮动则文字会在其周围环绕
	clear:both;最后一个元素清除浮动的影响
超链接跳转:
	<a href="https://www.runoob.com/" target="_blank"> _self _blank 默认是在当前页面跳转
取消超链接下划线:
	text-decoration:none;
	text-decoration:overline/line-through/underline  上面/中间/下面
字体大小:
	font-size:20px; 字体大小
点击:
	a:link {color:#000000;}      /* 未访问链接*/
    a:visited {color:#00FF00;}  /* 已访问链接 */
    a:hover {color:#FF00FF;}  /* 鼠标移动到链接上 */
    a:active {color:#0000FF;}  /* 鼠标点击时 */
边距问题:
	border:1px solid black;
	border-collapse:collapse; 边框折叠成一条线
	border-style:dotted/dotted;	边框演示
	border-style:dotted solid double dashed;
	padding:25px 50px 75px; 上(左右)下
    width: 300px
    margin: 25px;
行内块:
	display:inline; block块元素
可见:
	visibility:hidden;
定位:
    h2{ 
        position:absolute; //绝对定位的位置是相对与最近的父元素(若没有则是相对于html)
        position:relative;//相对定位元素经常被用来作为绝对定位元素的容器块。
        position: sticky; //不会改变位置  
        left:100px;
        top:150px;
    }
溢出:(文字内容大于框的大小是否形成滚动条)
	overflow:visible(呈现在其之外)、scroll(形成滚动条)hidden

	
	
Javascript:

JavaScript(通常简称为JS)是一种广泛用于网页开发的脚本语言。它是一种高级、解释性的编程语言,用于为网页添加交互性和动态功能。就是上网页变的可交互起来。

获取元素常用的几个方法:

  • 根据id获取某个元素:document.getElementById(id); (返回对象)
  • 根据name获取元素:document.getElementsByName(name);(返回对象数组)
  • 根据tagName获取元素:document.getElementsByTagName(tagName);(返回对象数组)
函数定义:
js 复制代码
 <script>
    function 函数名(参数列表){
      函数体(返回值使用return语句)
   }
 </script>
获取值:
js 复制代码
var inputElement=document.getElementById("card");
var idCard = idCardInput.value;
修改值:
js 复制代码
var resultElement=document.getElementById("result");
   resultElement.textContent='邮费:'+fee+"元";
js操控css:
html 复制代码
<button type="button" onclick="myFunction()">点我</button>  绑定响应事件
<script>
function myFunction()
{
	document.getElementById("demo").innerHTML="Hello JavaScript!";
}
</script> 
document.getElementById("demo").style.color="#ff0000"; 修改css 
案例分析:
js 复制代码
<script>
function f1(){
    var a=document.getElementById("t1").value;  //获取t1标签中的值
    alert("用户在文本框中输入的值为:"+a);// 弹出提示框,显示用户输入的值
}
function f2(){
    var a=document.getElementsByName("sex"); //获取一组标签
    var sex;
    for(var i=0;i<a.length;i++){
        if(a[i].checked){ //如果某个表单元素被选中 则为true
            alert(a[i].value); //提示框输出
            break;
        }
    }   
}
function f3(){
    var a=document.getElementsByName("aihao");
    var aihao="";
    for(var i=0;i<a.length;i++){
        if(a[i].checked){//如果某个复选框元素被选中 则为true
            aihao+=a[i].value+" "; //拼接
        }
             
    }   
     if(aihao==''){
         alert("无爱好");
     }
     else{
         alert("爱好:"+aihao);
     } 
}
function f4(){//下拉框 下拉框无法进行点选 只能滑动 显示最上面的是哪一个
    var a=document.getElementById("jiguan");
    var selectedIndex=a.selectedIndex;//获取是当前是第几个 
    alert(a.options[selectedIndex].value); //获取响应的值
}
</script>
html 复制代码
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<input type="text" id="t1" size="10"/>
<input type="button" id="bt1" value="获取文本框的值" onclick="f1();"/>  // 绑定点击响应函数
<hr>
<input type="radio" name="sex" value="男" checked/>男
<input type="radio" name="sex" value="女"/>女
<input type="button" id="bt2" value="获取性别" onclick="f2();"/>
<hr>
<input type="checkbox" name="aihao" value="音乐" />音乐
<input type="checkbox" name="aihao" value="画画"/>画画
<input type="checkbox" name="aihao" value="下棋"/>下棋
<input type="button" id="bt3" value="获取爱好" onclick="f3();"/>
<hr>
<select id="jiguan">
<option value="山东">山东</option>
<option value="北京">北京</option>
<option value="广东">广东</option>
</select>
<input type="button" id="bt4" value="获取籍贯" onclick="f4();"/>
</body>
</html>
Jquery:

​ jQuery 是一个广泛使用的 JavaScript 库,它简化了 JavaScript 在网页开发中的操作和处理。jQuery 提供了一组易于使用的函数和方法,使开发者能够更简洁、高效地操作 HTML 元素、处理事件、发送 AJAX 请求等。

引入:
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
<script src="js/jquery-1.11.1.js"></script>
html 复制代码
<%@ page  pageEncoding="UTF-8"%>
<html>
  <head> 
  <script src="js/jquery-1.11.1.js"></script>  
  <script>
    $(function(){
       $("p").click(function(){
       $(this).hide();
    });
   });
</script>
  </head>  
  <body>
   <p>如果你点我,我就会消失。</p>
  </body>
</html>
页面加载
    window.onload=function(){} //原始js写法
    $(function(){
逻辑代码
   });
   //一般使用jquery都将代码放在其中,   $(function(){  })  是让网页全部加载完成后再使用jQuery。

下面是 jQuery 中一些常见操作的简洁示例:

jQuery选择器:
js 复制代码
// 通过元素标签名选择元素
$('div')
// 通过class属性值选择元素
$('.class-name')
// 通过ID属性值选择元素
$('#element-id')
// 通过其他属性选择元素
$("div[title='div2']")   $("div[title!='div2']")
// 父 与 子孙们关系
$("#d1 span").css("color","red");
//父子关系
 $("#d1>span").css("color","green");  
//选取紧接在prev元素后的同辈next元素
$("#d1+div").css("color","blue")
//选取所有在prev元素后的同辈siblings元素
$("#d1~div").css("color","gray"); 
//后面两种写法一般不会用到,了解即可。

全(不)选实现:

html 复制代码
<%@ page  pageEncoding="UTF-8"%>
<html>
<head> 
  <script src="js/jquery-1.11.1.js"></script>  
  <script>
    $(function(){
      $("#xz").click(function(){
        $(".c1").prop("checked", this.checked);    
          //当全选复选框被点击时,通过 $(".c1").prop("checked", this.checked) 将所有记录复选框(类名为 "c1")的 checked 属性设置为与全选复选框相同的值,从而实现全选或取消全选的功能。
      });
    });
  </script>
</head>  
<body>
  <table border="1">
    <tr>
      <td><input type="checkbox" id="xz"/></td>
      <td>列标题</td>
    </tr>
    <tr>
      <td><input type="checkbox" class="c1"/></td>
      <td>记录1</td>
    </tr>
    <tr>
      <td><input type="checkbox" class="c1"/></td>
      <td>记录2</td>
    </tr>
    <tr>
      <td><input type="checkbox" class="c1"/></td>
      <td>记录3</td>
    </tr>
  </table>
</body>
</html>
$(".c1").prop("checked", this.checked);  
$(".c1").attr("checked", this.checked)

上面两种方法都可以实现全选或者全不选的效果,区别是:从 jQuery 1.6 版本开始,推荐使用 .prop() 方法来设置元素的属性值而不是 .attr() 方法,因为 .prop() 方法更适用于处理属性值的布尔类型。在处理 checked 属性时,使用 .prop() 方法更为准确和可靠。

Jquery操作dom:
js 复制代码
//获取元素的HTML内容
 var a=$("#div1").html();
 //获取元素的文本内容。
  var b=$("#div1").text();
  //获取表单元素值
  $("select").val()
 // 插入节点
 var div1=$("<div>div1</div>");
  $("body").append(div1); 
发送 AJAX 请求:
js 复制代码
$.ajax({
  url: 'url',
  method: 'GET',
  data: {
    // 请求参数
  },
  success: function(response) {
    // 请求成功后的处理
  },
  error: function(error) {
    // 请求失败后的处理
  }
})
总结:

​ 通过这一小节的学习,我们发现你去手写一个网页属实不简单,前端知识点确实比较多,网上流传着这样一句话前端堪比娱乐圈,一天一个新框架,不过不需要大家都记住,只需要你能懂,在业务层一般都是使用组件开发,大不必过度担心。

第三章动态网页设计:

相关推荐
Json_181790144801 小时前
电商拍立淘按图搜索API接口系列,文档说明参考
前端·数据库
风尚云网1 小时前
风尚云网前端学习:一个简易前端新手友好的HTML5页面布局与样式设计
前端·css·学习·html·html5·风尚云网
木子02041 小时前
前端VUE项目启动方式
前端·javascript·vue.js
GISer_Jing1 小时前
React核心功能详解(一)
前端·react.js·前端框架
捂月1 小时前
Spring Boot 深度解析:快速构建高效、现代化的 Web 应用程序
前端·spring boot·后端
深度混淆2 小时前
实用功能,觊觎(Edge)浏览器的内置截(长)图功能
前端·edge
Smartdaili China2 小时前
如何在 Microsoft Edge 中设置代理: 快速而简单的方法
前端·爬虫·安全·microsoft·edge·社交·动态住宅代理
秦老师Q2 小时前
「Chromeg谷歌浏览器/Edge浏览器」篡改猴Tempermongkey插件的安装与使用
前端·chrome·edge
滴水可藏海2 小时前
Chrome离线安装包下载
前端·chrome
m51272 小时前
LinuxC语言
java·服务器·前端