JavaWeb复习

系列文章目录

提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
例如:第一章 Python 机器学习入门之pandas的使用


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

主要记录部分期末考的知识点,方便自己记忆


提示:以下是本篇文章正文内容,下面案例可供参考

第一章

1、网络应用程序开发常用的结构----B/S架构和C/S架构
1)C/S(客户机/服务器),分为客户机和服务器两层,把应用软件安装在客户机端,通过网络与服务器端相互通信,如果应用软件改动了(例如丰富的界面,增加功能),就必须通知所有的客户端重新安装,维护稍有不便。
2)B/S(浏览器/服务器),可以不用通知客户端安装某个软件,内容修改了,也不需要通知客户端升级。B/S也分为客户机和服务器两层,但是在客户机上不用安装软件,只需要浏览器即可。
3)但是,B/S结构相较于C/S结构也存在一定的劣势,例如服务器负担比较重、客户端界面不够丰富、快速响应不如C/S结构。
2、在Web程序结构中,浏览器与应用服务器端采用请求/响应模式进行交互。如图所示:

图1-1 浏览器与服务器端交互模式
3、Tomcat安装目录中重要文件夹或文件内容
表1-2Tomcat安装目录中重要文件夹或文件内容
编号 文件夹/文件名称 内容
1 bin 存放系统的可执行文件,常见的.exe文件
2 conf 存放Tomcat服务的配置信息,比如服务器端口、虚拟目录等
3 lib 存放Tomcat与web应用的Jar包
4 logs 存放日志文件
5 temp 存放Tomcat运行的一些临时文件
6 webapps 网站资源文件,存放JSP程序文件
7 work 存放JSP文件在运行时候被编译成的二进制文件

第二章:

1、常用HTML标记
1)排版标记
2)字体列表标记
内容 粗体
内容 下划线
内容 斜体
内容</sup 上标
内容 下标
内容 闪烁

3)表格标记

定义表格,表格的所有内容都写在这个标签之内 定义标题,标题会自动出现在整张表格的上方 定义行 定义表头,包含之间,表头中的文字会自动变成粗体 定义表元(表格的具体数据),包含在 合并单元格:必须对标签中的rowspan(纵向合并)、colspan(横向合并)属性进行设置,属性值都为整数,默认为1,表示没有合并。 4)链接标记 内容,此标签的一个重要属性是href,它的值表示链接所指向的资源地址。 5)图像标记 6)表单标记 # 第三章: 1.CSS选择器 1)标记选择符: div { text-align:center} 2)类选择符:.类名{样式属性1:值1; 样式属性2:值2;......} 3)id选择符:#id{样式属性1:值1;样式属性2:值2;......} 2、CSS的使用: 1)行内(内联)式CSS:在HTML标签的style属性中编写CSS代码 2)内部(内嵌式)CSS:在中编写CSS代码 3)外部(链接式)CSS:在使用链接外部CSS文件 3、DIV和CSS布局 1)DIV是HTML中专门用于布局设计的容器对象; 2)以DIV对象为核心的页面布局中,通过层来定位,通过CSS定义外观,最大程度地实现了结构和外观彻底分离的布局效果。

图3-1
3)盒子模型:主要定义四个区域:内容(content)、内边距(padding)、边框(border)和外边框(margin)

图3-2
第四章:

第五章:
第六章:
1、什么是JSP
JSP全称Java Server Pages,它和Servlet技术一样都是SUN公司定义的一种用于开发动态web页面资源的技术。
2、为什么JSP也是一种web资源的开发技术呢?
JSP虽然像html文档,但JSP技术允许在页面中编写java代码,并允许开发人员在页面中获取request,response等web开发常用对象,实现浏览器的页面交互,所以jsp也是一种动态web资源的开发技术。
3、中文乱码问题
1)中文无法显示:通常原因是没有把文件头上的字符集设置为中文字符集,用户一定要保证在头文件上写明如下内容:
<% @ page language=“java” contentType=“text/html;charset=utf-8” %>
或者<% @ page language=“java” pageEncoding=“utf-8”%>
2)将其转成utf-8格式
方法如下:变量(字符串)=new String (变量(字符串).getBytes(“ISO-8859-1”),“utf-8”)
3)直接修改request的编码
request.setCharacterEncoding(“utf–8”)
4)利于过滤器
利用过滤器,可以对整个Web应用进行统一的编码过滤,比较方便。
第十章:
1、什么是JDBC
JDBC(Java DataBase Connectivity)就是Java数据库连接,就是用Java语言来操作数据库。
2、JDBC操作数据库的步骤:
1)加载驱动程序Class.forName;
2)建立连接对象:使用DriverManager类的getConnection()建立数据库连接对象;
3)创建语句对象:Statement/PreparedStatement;
4)获取SQL语句的执行结果:使用Statement对象的方法执行SQL语句(查询/增删改);
5)关闭建立的对象(关闭顺序:先得到的后关闭,后得到的先关闭)。
3、使用PreparedStatement的好处:
1)防止SQL攻击;
2)提高代码的可读性,以及可维护性;
3)提高效率。

第十三章:

1.MVC
1)JSP:视图层,用来与用户打交道。负责接收用户的数据,以及显示数据给用户;
2)Servlet:控制层,负责找到合适的模型对象来处理业务逻辑,转发到合适的视图;
3)JavaBean:模型层,完成具体的业务工作,例如:开启、转账等。

图10-1

第十五章:AJAX(Asynchronous+JavaScript+XML)
1、AJAX技术: 使⽤已有技术的浏览器端技术(不是新技术)

  1. WXMLHttpRequest技术: 实现异步数据获取
    (2) XHTML 与CSS 技术:实现标准化数据呈现
    (3) DOM(⽂档对象模型)技术: 实现数据的动态显示与交互
    (4) XML 与 XSLT 技术: 实现数据的互换和操作
    (5) JavaScript技术: 融合以上技术
    2、优缺点
    (1)优点:
    1)减轻服务器负担,避免整个浏览器窗口刷新时造成的重复请求;
    2)带来更好的用户体验
    3)进一步促进页面呈现和数据本身的分离等
    (2)缺点:
    1)对浏览器具有一定的限制,对于不兼容的浏览器,可能无法使用;
    2)AJAX没有刷新页面,浏览器上的“后退”按钮是失效的,因此,客户经常无法退到以前的操作。

第十七章:

1、对于XSS攻击的防范,主要从⽹站开发者⻆度和⽤户⻆度来考虑
(1) 对于任意的输⼊数据应该进⾏验证,以有效检测攻击
(2) 对于任意的输出数据,要进⾏适当的编码,防⽌任何已成功注⼊的脚本在浏览器端运⾏;数据输出前,确保⽤户提交的数据已被正确进⾏编码;可在代码中明确指定输出的编码⽅式(如ISO-8859-1),⽽不是让攻击者发送⼀个由他⾃⼰编码的脚本给⽤户。

  1. 作为⽹站⽤户,打开⼀些Email或附件、浏览论坛帖⼦时,做操作时⼀定要特别谨慎,否则有可能导致恶意脚本执⾏。不过,也可以在浏览器设置中关闭JavaScript。
  2. 如果是IE的,可以点击"⼯具"⼀⼀"Internet选项"⼀⼀"安全"⼀⼀"⾃定义级别"进⾏设置。
    2、SQL注⼊的定义和解决方法
    1)SQL注⼊在英⽂中称为SQL Injection,是⿊客对Web数据库进⾏攻击的常⽤⼿段之⼀。在这种攻击⽅式中,恶意代码被插⼊到查询字符串中,然后将该字符串传递到数据库服务器进⾏执⾏,根据数据库返回的结果,获得某些数据并发起进⼀步攻击。
    2)解决方法:

(1) 将输⼊中的单引号变成双引号
(2) 使⽤存储过程
(3) 认真对表单输⼊进⾏校验,从查询变量中滤去尽可能多的可疑字符
(4) 使⽤编程技巧: 尽量将⽤户输⼊的字符串以参数的形式进⾏包装,例如使⽤PreparedStatement代替 Statement

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值