JavaWeb教程
文章平均质量分 63
JavaWeb方面的知识在整个JavaEE方向的学习中起着承上启下的作用,在JavaWeb中将学习跟web开发相关的技术:html、css、javascript、tomcat、servlet、JSP、jdbc、mysql等等,其实JavaWeb的学习就是教大家如何做一个动态的网站。
陌影2272424
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Javaweb中的监听器Listener
servlet中的监听器servlet中的监听器是用于监听web常见对象HttpServletRequest,HttpSession,ServletContext。主要有下面三个作用:监听web对象创建与销毁。监听web对象的属性变化,添加、删除、修改。监听session绑定javaBean操作,活化(从硬盘读取到内存)与钝化(从内存持久化到硬盘)操作。当监听器发现被监听的对象发生变化时,可以做一些操作。在servlet中一共有8个监听器,按照监听器的作用分类如下:监听web对象创建与销原创 2021-11-03 20:41:27 · 531 阅读 · 0 评论 -
观察者设计模式
观察者设计模式简介现实生活中,每个人都是一个观察者,同时也是一个被观察者,"你站在桥上看风景,看风景的人在楼上看你"形容的就是这样的一个场景。观察者设计模式,定义了一种一对多的关联关系。一个对象 A 与多个对象 B、C、D 之间建立“被观察与观察关系”。当对象 A 的状态发生改变时,会通知所有观察者对象 B、 C、 D。当B、C、D 在接收到 A 的状态改变通知后,根据自身实际情况,做出相应改变。通常观察者和被观察者都是接口,上面所提到的对象是指实现了这些接口的对象。定义一个观察者接口Observe原创 2021-11-03 20:22:20 · 114 阅读 · 0 评论 -
注册和登录功能的一些问题
表单赋值的问题当请求request中携带了用户提交的数据时,需要将这些数据封装到JavaBean中,像之前写法需要一一赋值,倘若request携带了非常多的表单数据,此时的赋值操作就显得比较繁琐了,那有没有好的解决方法呢?这里可以使用apache的commons-beanutils搞定这个问题。使用commons-beanutils解决表单赋值的问题。首先需要下载两个jar包分别是:commons-beanutils.jar:http://pan.baidu.com/s/1slzAndbcommo原创 2021-11-03 20:19:58 · 1050 阅读 · 0 评论 -
JavaWeb案例:实现注册和登录功能
业务需求分析在实际开发中,通常会有专门的人去跟客户进行沟通从而了解客户需要什么样的系统,之后由专业的美工将要做的系统以图片的形式表现出来,客户确认后作出一些静态的html demo页面,然后由软件开发人员创建相关数据库,编写代码将该静态页面做成动态页面,由测试人员通过测试后将其交付给客户使用。这里主要以学习为目的,所以简化一些流程,通常一般的注册和登录都由下面几个页面组成:注册页面:没有用户名时,首先需要在该页面注册成功之后才可进行登录操作,用户所提交的数据要持久化到数据库中。登录页面:用户转载 2021-11-03 20:17:24 · 9292 阅读 · 2 评论 -
MVC开发模式
mvc开发模式简介M: Model模型 JavaBeanV:view视图 JSPC:Controller控制器 Servlet其实就是JSP + Servlet + JavaBean上面的JavaBean就是一个普通类(实体bean),包含三部分:构造方法、私有成员变量、公共的getter和setter方法。上图中是一个简单的MVC模式的流程图,其中各层的主要作用如下:M:封装结果数据集V:将最终的结果展示给用户C:处理业务流程,将数据集发送给JSPMVC模式的优点:降低各个模块之间的转载 2021-11-03 20:08:32 · 1393 阅读 · 0 评论 -
JSTL格式化标签
要使用格式化标签库需要先引入标签库<%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>fmt:formatDate标签该标签用于使用不同的模式格式化日期。其常用属性有:value:将要被格式化的数据pattern:格式化的模式。其与 SimpleDateFormat 的参数设置方式相同。var:格式化后的字符串所要存放的变量。若不指定 var,则会将格式化过的结果直接显示在页面scope:变量存放的域属性原创 2021-11-03 20:01:59 · 357 阅读 · 0 评论 -
JSTL标签
JSTL标签简介JSTL是JavaServerPages Standard Tag Library的缩写,即JSP标准标签库。开发者可以使用JSTL实现JSP页面中逻辑处理。如判断、循环等,在JSTL中已经定义好了一套对于字符串进行处理的函数标签库,这样就不用我们自己去编写相关逻辑了。使用JSTL前的准备首先需要下载相关jar包。目前最新版本是1.2.5,如果使用该版本的话,需要添加下面这些jar包:taglibs-standard-spec-1.2.5.jartaglibs-standard原创 2021-11-03 19:56:23 · 282 阅读 · 0 评论 -
JSTL核心标签库
JSTL核心标签库简介JSTL中的核心标签库主要用于完成基本的逻辑运算,在开发中使用较多。在开发前导入相关jar包之后,还需要在页面中通过 taglib 指令将标签库导入:<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>c:out标签用于在页面上输出 EL 表达式的值,该标签不常使用,因为不使用该标签也能够在页面上输出EL表达式。<% pageContext.setAttribute("u原创 2021-11-03 19:53:43 · 917 阅读 · 0 评论 -
自定义EL函数
自定义EL函数EL函数不支持字符串连接的操作,即${“ab”+”cd”}这样的都不支持,可以通过自定义函数来解决这个问题。下面以实现“将一个字符串转全部换为大写”的功能为例,来讲解自定义 EL 函数的过程。1.定义Java方法自定义一个类名为StringFunction的类,创建一个静态方法:package com.monkey1024.el;/** * 自定义EL函数 * */public class StringFunction { public static Strin转载 2021-09-12 20:07:44 · 115 阅读 · 0 评论 -
EL表达式内置对象
EL表达式内置对象同JSP类似,在EL表达式中也有一些内置对象,共11个:pageContextpageScoperequestScopesessionScopeapplicationScopecookieparamparamValuesheaderheaderValuesinitParam上面除了pageContext是javax.servlet.jsp.PageContext类型,其他的都是java.util.Map类型。四个域属性相关的对象之前用过了,下面主要介绍一些其他转载 2021-09-12 19:59:37 · 991 阅读 · 0 评论 -
EL表达式
什么是EL表达式EL,Expression Language,表达式语言,是一种在JSP页面中获取数据的简单方式,通过${变量名}的方式可以获取到值,需要注意的是EL只能从 pageConext、request、session、application 四大域属性空间中获取数据。使用EL表达式获取数据下面不能成功取值<% int sum = 88; %><!-- 该值取不出来,因为没有放在四大域属性空间中 -->${sum }可以将这个值存放到四大域属性空间中的任意一个转载 2021-09-12 19:56:09 · 163 阅读 · 0 评论 -
JSP常用标签
什么是JSP标签JSP标签,有的地方也叫做JSP动作,在JSP中编写大量的java代码会使JSP页面显得杂乱无章,看起来非常不舒服,因此JSP提供了一些类似html的标签,通过这些标签能够替代部分java代码实现功能。语法格式如下:<jsp:标签名称 属性名=属性值 ... ></jsp:标签名称>或<jsp:标签名称 属性名=属性值 ... />常用JSP标签在JSP中有很多JSP标签,但是常用的主要有下面两个:< jsp:forward>转载 2021-09-12 19:03:51 · 2493 阅读 · 0 评论 -
JSP指令
JSP指令JSP 指令的作用是为当前页面做一些基本的属性设置,为当前的页面的运行提供基本的环境。在JSP中包含三类指令:page,页面指令include,包含指令taglib,标签库指令这些指令的使用的语法格式均为如下形式:<%@ 指令名称 属性名=属性值 ... %>page指令page指令用于设置当前JSP页面的相关信息, 一个 JSP中可以包含多个 page 指令,有以下几个常用的属性:pageEncodingpageEncoding属性用于设置当前JSP页面转载 2021-09-12 19:01:37 · 546 阅读 · 0 评论 -
HttpServlet类
继承HttpServlet类在实际应用中常用的http提交方式有get和post(除此之外还有put、delete),在之前所编写的servlet中是无法直接处理这两种提交方式的,为了方便开发,JavaEE规范的API提供了javax.servlet.http.HttpServlet类,在实际开发中也经常使用继承HttpServlet类的方式创建一个servlet。package com.monkey1024.servlet;import java.io.IOException;import j转载 2021-09-11 18:35:36 · 273 阅读 · 0 评论 -
GenericServlet类
继承GenericServlet类在通过实现Servlet接口来定义一个Servlet类时存在一个很不方便的问题:有太多不需要的方法必须要实现。通常我们只在service()方法中完成业务逻辑,但由于Servlet 接口中还存在另外四个方法,所以也要必须实现。为了解决这个问题JavaEE的API中提供了一个javax.servet.GenericServlet类,开发者在定义一个servlet时继承该GenericServlet类,此时只需要重写service方法即可。package com.monk转载 2021-09-11 18:33:40 · 504 阅读 · 0 评论 -
欢迎页面的设置和url-pattern
设置欢迎页面在浏览器地址栏中直接通过项目名称访问时,默认显示的页面就是欢迎页面,可以是.html.jsp,可以通过welcome-file-list进行设置。设置多个欢迎页面:<welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>inde转载 2021-09-11 18:31:08 · 436 阅读 · 0 评论 -
ServletContext接口简介
ServletContext接口简介WEB容器在启动时,它会为每个WEB应用程序都创建一个对应的ServletContext对象,ServletContext对象包含Web应用中所有 Servlet 在 Web 容器中的一些数据信息。ServletContext随着Web应用的启动而创建,随着 Web 应用的关闭而销毁。一个 Web 应用只有一个ServletContext 对象。ServletContext中不仅包含了 web.xml 文件中的配置信息,还包含了当前应用中所有Servlet可以共享的数转载 2021-09-11 18:27:57 · 317 阅读 · 0 评论 -
ServletConfig接口
ServletConfig接口简介在 Servlet 接口的 init()方法中有一个参数 ServletConfig,这个参数类型是个接口,里面是一些 在 web.xml 中对当前 Servlet类的配置信息。Servlet 规范将Servlet 的配置信息全部封装到了 ServletConfig 接口对象中。在tomcat调用 init()方法时,首先会将 web.xml 中当前 Servlet 类的配置信息封装为一个对象。这个对象的类型实现了 ServletConfig 接口, Web 容器会将这个转载 2021-09-11 18:26:04 · 274 阅读 · 0 评论 -
Servlet的生命周期
servlet的生命周期Servlet 生命周期指的是,Servlet 对象的创建、Servlet 对象的初始化、Servlet 对象服务的执行,及最终 Servlet 对象被销毁的整个过程。servlet生命周期图:Servlet 的整个生命周期过程的执行,均由 Web 服务器负责管理,程序员无法控制其执行流程。但程序员可以获取到 Servlet 的生命周期时间点,并可以指定让 Servlet 做一些业务相关的事情。示例代码:package com.monkey1024.servlet;转载 2021-09-11 18:24:27 · 216 阅读 · 0 评论 -
Servlet简介
创建javaee的web项目在使用servlet之前我们需要先创建一个javaee的web项目,一个web项目通常包含下面一些文件:srcweb WEB-INF lib classes index.jspsrc:存放java源代码web:存放静态资源和动态资源WEB-INF:该目录下的所有文件无法从浏览器中直接访问lib:存放相关的jar包classes:存放编译后的class文件index.jsp:web项目中默认访问的首页appl转载 2021-09-11 18:19:44 · 308 阅读 · 0 评论 -
http协议简介
URL和URIURL:全称是Uniform Resource Locator,中文是统一资源定位符,这里更强调定位,通过定位能够找到某个资源。是互联网上资源的地址,即平时所说的网址。URI:全称是Uniform Resource Identifier,中文是统一资源标识符,可以标识唯一的资源(比如身份证号),对程序员来说主要用于标识网络资源名称(比如网址)。两者从关系上来说URI是包含URL的比如:http://www.monkey1024.com/javaweb/888这个是一个网址,通过这个网转载 2021-09-11 18:14:59 · 370 阅读 · 0 评论 -
开发工具集成tomcat并发布Javaweb应用
IDEA集成tomcat请参考视频中的操作elipse集成tomcat在实际开发中通常在eclipse中集成tomcat,这样在开发中更方便一些。打开eclipse,选择界面下方的servers选项,点击no servers are available,click this link to create a new server。选择Apache—>tomcat v9.0 server之后选择tomcat的解压目录点击finish即可。注意版本号要一致。发布Javaweb项目方式一:在e转载 2021-09-11 18:07:08 · 318 阅读 · 0 评论 -
tomcat的安装和启动
tomcat的安装tomcat是开源的web服务器,由java语言编写,可以去tomcat官网:http://tomcat.apache.org/ 中下载。或者去网盘中下载:http://pan.baidu.com/s/1c18VOwo其中建议大家使用免安装版的tomcat,下载后直接解压即可,解压目录最好不要带有中文和空格。tomcat版本:TOMCAT版本SERVLET/JSP规范JDK版本tomcat9.X4.0/TBD8+tomcat8.X3.1/2.37转载 2021-09-11 18:04:50 · 302 阅读 · 0 评论 -
MySQL练习题
取得每个部门最高薪水的人员名称第一步,取得每个部门的最高薪水,按照部门分组求最大值: SELECT deptno, MAX(sal) AS maxsal FROM emp GROUP BY deptno第二步,将第一步的查询结果作为临时表t与emp表做连接查询:SELECT e.ename, t.deptno, t.maxsalFROM emp eJOIN (SELECT deptno, MAX(转载 2021-09-04 20:51:53 · 559 阅读 · 0 评论 -
MySQL索引和视图
索引的作用索引相当于一本字典目录,能够提高数据库的查询效率,表中每一个字段都可添加索引。主键会自动添加索引,在查询时,如果能通过主键查询的尽量使用主键查询,效率高。MySQL数据库表中的检索方式有两种:全表扫描(效率低)例如:select * from emp where ename =‘KING’;如果ename字段没有添加索引的话,就会发生全表扫描。通过索引检索什么情况下适合添加索引该字段数据量庞大;该字段很少的DML操作(由于索引也需要维护,DML操作多的话,也影响检索效率);转载 2021-09-04 20:53:24 · 165 阅读 · 0 评论 -
事务transaction
什么是事务事务的英文是transaction,事务可以保证多个操作原子性,对于数据库来说,事务可以保证批量的DML要么全成功,要么全失败。通常一个事务对应一个完整的业务,例如银行转账。比如银行账户表t_bank:1001的账户向1002的账户进行转账500元的操作,此时将会执行两条SQL语句:update t_bank set money=500 where account=1001;update t_bank set money=2500 where account=1002;如果上面的sq转载 2021-09-04 20:54:09 · 605 阅读 · 0 评论 -
MySQL存储引擎简介
什么是存储引擎存储引擎是通过采用不同的技术将数据存储在文件或内存中,不同的技术有不同的存储机制,其功能和能力也不同,通过选择不同的技术,可以获得特殊的速度或功能,从而提高应用的性能。存储引擎是MySQL特有的在不同的业务场景下选择不同的存储引擎,这样能够发挥MySQL的最佳性能。MySQL存储引擎的分类使用下面命令可以查看MySQL的存储引擎:show engines;如上图所示,MySQL中的存储引擎有:FEDERATEDMRG_MYISAMMyISAMBLACKHOLECSV转载 2021-09-04 20:54:31 · 120 阅读 · 0 评论 -
MySQL查询其他内容
子查询定义:select 语句嵌套 select 语句被称为子查询;注意:select子句可出现在select、from、where关键字后面,如下:select … (select)…【使用较少,了解即可】from …(select)…where …(select)…可以将select语句查询出的数据看做是一张新的表。找出薪水比公司平均薪水高的员工,要求显示员工名和薪水:select ename,sal from emp where sal > (select avg(sal) fr转载 2021-09-04 20:54:50 · 243 阅读 · 0 评论 -
MySQL分组和聚合函数
聚合函数聚合函数在计算时会自动忽略空值,不用手动写sql将空值排除。聚合函数不能直接写在where语句的后面。sum()求和函数取得薪水的合计:select sum(sal) from emp;取得总共薪水(工资+补助)合计:select sum(sal+ifnull(comm,0)) from emp;avg()取平均值函数取得平均薪水:select avg(sal) as avgsal from emp;max()取得最大值函数取得最高薪水:select max(sal)转载 2021-09-04 20:50:00 · 401 阅读 · 0 评论 -
MySQL排序和处理函数
排序order byorder by后面写上要排序字段,排序字段可以有多个,多个采用逗号间隔,order by默认采用升序(asc)排序,可以手动设置为降序(desc).如果存在where子句,那么order by必须放到where语句后面。单个字段排序按照薪水由小到大排序:select ename,sal from emp order by sal;取得job为MANAGER的员工,按照薪水由小到大排序:select ename,job,sal from emp where job = 'M转载 2021-09-04 20:49:25 · 318 阅读 · 0 评论 -
MySQL之简单查询
DQL简介DQL中主要是用来查询数据库中的数据,不会对数据库中的数据进行改变,查询关键字:SELECT语法:SELECT 字段名 FROM 表名 [WHERE –> GROUP BY –>HAVING–> ORDER BY];其中[]中的内容是一些条件。在使用SELECT之前,先创建一个数据monkey1024:create database monkey1024;然后在这个数据库中创建三张表之后初始化数据,sql脚本如下:create table dept( DE转载 2021-09-04 20:48:57 · 362 阅读 · 0 评论 -
MySQL之DML常用命令
DML简介DML是对数据库表中的数据进行增、删、改的操作,即添加表中的数据,删除表中的数据,修改表中的数据。主要下面三个关键字:INSERT、DELETE、UPDATE。数据库图形化界面工具直接从命令提示符中输入sql语句不方便,我们可以通过数据库图形化界面工具更方便的操作数据库。常用的有下面几个:MySQL workbenchNavicatsqlyogmysql frontnavicat安装包:https://pan.baidu.com/s/1BboUg8Fmf62nJsRTeWlut转载 2021-09-04 20:46:22 · 1730 阅读 · 0 评论 -
MySQL中DDL常用命令
操作数据库下面开始使用sql语句操作数据库,需要注意的是要以英文的分号结尾。表名和字段名通常使用小写英文命名,做到见名知意,多个英文单词之间使用下划线间隔,例如task_config。创建数据库创建一个数据库,名字是study1create database study1;创建数据库study2,指定字符编码为gbk:create database study2 character set gbk;查看数据库显示当前所有的数据库show databases;查看study2数据库的转载 2021-09-04 20:44:34 · 322 阅读 · 0 评论 -
MySQL的安装与配置
MySQL的安装**注意:**安装后不要卸载,卸载重装比较麻烦。MySQL下载:http://pan.baidu.com/s/1eSy6tk2MySQL安装文档:https://pan.baidu.com/s/1AS_dMDI27LQeOOr02C8XtQ提取码:eiw9参考上面的安装文档一步步进行安装即可,安装过程较为简单,有两个地方需要注意,设置字符编码时,需要设置为UTF-8,在设置密码时,最好设置为好记的,我这里设置为:111111。注意不要设置为000000,这样在yaml文件中会认为是转载 2021-09-03 20:18:02 · 225 阅读 · 0 评论 -
数据库概述
数据库概述数据库(database,简称db), 按照某种规则存放到计算机存储设备上可以被应用或用户访问的数据仓库。持久化存储数据的,其实数据库就是一个文件系统,我们用到的一些数据可以存储到数据库中,这样即使关机数据也不会丢失。数据库管理系统(DataBase Management System,简称DBMS):指的是能够操作和管理数据库的软件,开发者可以通过使用数据库管理系统来访问数据库中的数据。常用的关系型数据库管理系统如下:oracle由oracle开发。sqlserver由微软公司转载 2021-09-03 20:14:28 · 156 阅读 · 0 评论 -
javascript之DOM简介
DOM文档对象模型DOM文档对象模型是基于HTML树的api,这里可以把HTML结构看成是一颗树形结构,使用DOM可以操作树中的节点,即操作(增删改查)HTML标签。上图是一个简单的DOM树形结构图,可以使用document对象获取DOM,这个对象是window对象下的,在使用时,可以省略window。可以把一个HTML标签看做是一个对象,标签中的属性对应的就是对象中的属性,DOM提供了访问他们的方法。getElementByIdgetElementById根据html标签的id来获取标签对象:转载 2021-09-03 20:06:54 · 177 阅读 · 0 评论 -
BOM中的对象
BOMBOM(浏览器对象模型)中有很多对象,开发者可以直接使用这些对象中的方法来实现一些功能。window对象window是顶层对象,所有其他的对象都在它下面,包括DOM中的document,在使用时可以省略,比如:window.alert("提示信息");省略window.alert("提示信息");window是一个全局对象,另外还可以表示浏览器窗口,例如可以获取浏览器的内部净宽高alert("width:" + window.innerWidth + ", height:" + wi转载 2021-09-03 19:59:33 · 191 阅读 · 0 评论 -
javascript事件
javascript事件javascript是事件驱动的,发生某种事件后可以触发一段javascript代码的执行,先来看几个名词:用户点击html页面中的按钮,这时会发生一个事件,叫做点击事件,被点击的按钮叫做事件源,点击按钮后弹出一个对话框,点击按钮后发生的行为叫做响应行为。javascript的常用事件onclick:点击事件onchange:域内容被改变的事件onfocus:获得焦点的事件onblur:失去焦点的事件onmouseover:鼠标悬浮的事件onmouseout:鼠标离转载 2021-09-03 19:53:54 · 139 阅读 · 0 评论 -
javascript函数
在javascript中的函数跟java中的方法类似,可以将一些代码编写在一个函数里面,可以被调用执行,在使用起来比较方便。注意:一个函数被调用后才会被执行javascript函数的定义普通方式语法:function 函数名(参数列表){函数体}示例:function method(){ alert("monkey1024");}method();匿名函数语法:function(参数列表){函数体}示例:var method = function(){ alert(转载 2021-09-03 19:47:59 · 93 阅读 · 0 评论 -
javascript内建对象
在javascript中有一些内建对象,就像java中提供的一些类,可以直接使用这些内建对象来完成一些操作。Number创建方式: var num=new Number(8); var num=Number(6);属性和方法: toString():转成字符串 valueOf():返回一个 Number 对象的基本数字值Boolean创建方式: var boo = new Boolean(true); var boo = Boolean(f转载 2021-09-03 19:44:03 · 144 阅读 · 0 评论
分享