《Java Web轻量级整合开发入门》学习笔记

news2024/11/24 23:02:17

轻量级Java Web整合开发

第一章 轻量级Java Web开发概述

1.2  java web 开发概述

1.JSP是一种编译执行的前台页面技术。对于每个JSP页面,Web服务器都会生成一个相应的Java文件,然后再编译该Java文件,生成相应的Class类型文件。在客户端访问到的JSP页面,就是相应Class文件执行的结果。

2.所谓轻量级,是指该组件或框架启动时依赖的资源较少,系统消耗较小,是一种相对的说法。

3.一般说的轻量级Java Web开发,主要是指用Structs 2、Hibernate和Spring这三个框架整合开发的Web项目开发模式。

4.所谓重量级,是指该组件或框架启动时依赖的资源较多,系统消耗较大,也是一种相对说法。EJB框架就是一个重量级框架,其强调高度伸缩性,适合于开发大型企业应用。通常说的经典Java

Web开发,是指用JSF+JPA+EJB 3个框架进行开发。

1.5 轻量级Java Web开发相关技术

1.JSP(Java Server Pages)其实是一个简化的Servlet设计,实现了HTML语法中的Java扩张。JSP与Servlet一样,实在服务器端执行的,通常返回客户端的就是一个HTML文本。

2.JSP引擎的工作原理:

(1)将JSP页面翻译成一个Servlet

(2)JSP引擎调用Java编译器这个Servlet进行编译,得到Class可执行文件。

(3)JSP引擎调用Java虚拟机来执行Class文件,生成向客户端发送的应答,然后发送给客户端。

3.JSP的内置对象

(1)request对象:得到用户的请求信息。

(2)response对象:服务器向客户端的回应信息。

(3)page对象:表示从页面中表示出来的一个Servlet实例。

(4)pageContext对象:JSP的页面的容器。

(5)out对象:页面输出。

(6)session对象:用来保存每一个用户的信息。

(7)application对象:表示所有用户的共享信息。

(8)config对象:服务器配置,可以取得初始化参数。

(9)exception对象:表示JSP页面所发生的异常,在错误页中起作用。

4.JSP的编译指令

(1)page:是针对当前页面的指令。

(2)include:用于指定包含另一个页面。

(3)baglib:用于定义和访问自定义标签。

5.JSP的动作指令

(1)jsp:forward//执行页面跳转

(2)jsp:param//用于传递参数

(3)jsp:include//用于动态引入一个JSP页面

(4)jsp:plugin//用于下载javaBean或Applet到客户端执行

(5)jsp:useBean//创建一个JavaBean的实例

(6)jsp:setProperty//设置JavaBean实例的属性值

(7)jsp:getProperty//输出JavaBean实例的属性值

a) 翻译:

i. 继承开发环境:Integrated DevelopmentEnvironment,IDE

第二章 设计模式概述

第三章 Struts 2 框架

*a)完整的Struts 2框架应用案例
*

i. 建立一个Java Web项目

ii. 导入Structs 2所需JAR

iii. 在web.xml文件中添加struts2的过滤器

iv. 建立Action类

packagedps.action;

importcom.opensymphony.xwork2.ActionContext;

importcom.opensymphony.xwork2.ActionSupport;

public classUserActionextendsActionSupport{

privateStringusername;

privateStringpassword;

publicString

getUsername() {

returnusername;

}

public voidsetUsername(Stringusername) {

this.username=username;

}

publicString

getPassword() {

returnpassword;

}

public voidsetPassword(Stringpassword) {

this.password=password;

}

publicStringexecute()throwsException{

//定义返回值变量

StringstrReturn=INPUT;

//业务逻辑判断

if(this.username.equals("abc") &&this.password.equals("123")){

strReturn=SUCCESS;

}else{

ActionContext.getContext().getSession().put("tip","登录失败");

}

returnstrReturn;

}

}

v. 建立前台JSP页面

vi. 添加struts.xml文件并对其进行配置

vii. 运行

ix. 注解:起初用的struts-2.5.5会出现java.lang.ClassNotFoundException:

org.apache.Struts2.dispatcher.FilterDispatcher问题。后来换成2.3就好了,2.5里少一个xwork-core-2.3.jar

第四章 Hibermate 框架

第五章 Spring 框架

第六章 轻量级整合开发实例

第七章 Java Web 开发常见问题

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/635567.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

chatgpt赋能python:Python怎么合并字典

Python怎么合并字典 在Python编程中,字典是一种非常有用的数据结构。它由一组键值对组成,每个键值对都是一个键和对应的值。有时候,我们需要将两个或多个字典合并为一个大的字典。本文将介绍Python中合并字典的方法。 方法一:使…

[架构之路-212]- 需求- UML需求建模:用例图、ER图/概念类图、流程图、序列图、状态机图

目录 前言: 什么是需求建模 1. 用例图 1.1 用例图 1.1.1 组件 1.1.2 用例细化与用例关系 1.2 用例规约 2. ER图/概念类图 3. 跨角色流程图(串行、协同) 4. 活动图(并行、协同) 5. 状态机图 6. 时序图 前言…

Letcode经典黄题——三数之和

还是那句话,一个题思路很重要,没有思路等于无头苍蝇乱撞 题目要求:给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k ,同时还满足 nums[i] nums[j] nums[k] 0 …

chatgpt赋能python:Python怎么变黑?探索Python黑科技的奥秘

Python怎么变黑?探索Python黑科技的奥秘 如果你在网上搜索“Python怎么变黑”,你会看到很多关于Python黑客技术的讨论。但是,这篇文章将会聚焦于Python如何变得更“黑”,即在SEO优化方面如何利用Python。 Python在SEO优化中的作…

华硕天选4原装Windows11系统带ASUSRECOVERY恢复工厂模式安装

华硕工厂恢复系统 ,安装结束后带隐藏分区以及机器所有驱动软件,奥创Myasus Recovery 文件地址https://pan.baidu.com/s/1Pq09oDzmFI6hXVdf8Vqjqw?pwd3fs8 提取码:3fs8 文件格式:5个底包(HDI KIT COM MCAFEE EDN) 1个引导工具TLK 支持ASUSRECOVERY型…

chatgpt赋能python:Python和Envi:完美结合的最佳方案

Python和Envi:完美结合的最佳方案 如果你正在寻找一种可靠的方法来将Python编程与Envi软件结合起来,那么你来对地方了!在本篇文章中,我们将介绍如何使用Python编程语言和Envi软件相互结合,从而让你的数据分析和地理信…

价值8k的电子书小程序源码+前端(含教程)

🎈 限时活动领体验会员:可下载程序网创项目短视频素材 🎈 🎉 有需要的朋友记得关赞评,阅读文章底部来交流!!! 🎉 ✨ 源码介绍 价值8k的电子书小程序源码_附完整教程 无意…

chatgpt赋能python:Python的字符串处理功能:取出字符串的每一位

Python的字符串处理功能:取出字符串的每一位 Python是广泛应用于Web开发、数据分析、机器学习、人工智能和爬虫等领域的一门程序语言。其中,字符串是Python最常见的数据类型之一,也是Web开发中交互数据的主要形式。在Python中,字…

UDS关于0x34服务请求下载学习

1.服务介绍 客户端使用requestDownload服务启动从客户端到服务器的数据传输(下载)。在服务器收到requestDownload请求消息后,服务器应采取一切必要措施接收数据,然后再发送肯定响应消息。 2.请求消息 2.1请求消息定义 C1&#x…

javaSE -- 注解学习笔记

参考资料:https://blog.csdn.net/KingBoyWorld/article/details/105337011 https://blog.csdn.net/qq_42843172/article/details/107293408 1.注解是什么? java注解是一个写在接口、类、属性方法上的一个标签。跟注释不同,能够影响代码。 …

算法模板(5):数学(1):数学知识(1)

数论 整数的整除性 [x]表示不超过x的最大整数,叫做取整函数或高斯函数。设整数a,b不同时为零,则存在一对整数m,n,使得 ( a , b ) a m b n (a, b) am bn (a,b)ambn。注:a和b的最大公因数会写成 (a, b)…

vue3中使用Vuex

目录 什么是Vuex安装和配置Vuex安装Vuex配置Vuex 使用VuexState定义State访问State MutationsMutations 的特点定义Mutations触发Mutations 修改State中的状态 ActionAction 的特点和作用定义Action触发Action GetterGetter 的特点和作用定义Getter获取Getter ModuleModule 的特…

ARM基础(4):L1 Cache之I-Cache和D-cache详解

在上一篇文章ARM基础(3):MPU内存保护单元详解及例子中,我介绍了MPU,我们知道MPU允许按区域修改一级Cache的属性,这个Cache一般为L1 Cache,它位于CPU的内部,用来加快指令和数据的访问速度。同时,…

chatgpt赋能python:如何在Python和Java之间进行整合

如何在Python和Java之间进行整合 在现在这个编程的时代里,使用一种编程语言或一种技术通常不能满足所有的需求。因此,当你需要在Python和Java之间进行整合时,这篇文章就为你介绍了一些解决方案。 为什么需要Python和Java进行整合 Python和…

redis 字典的实现

1.数据结构 节点数据结构 因为是基于开链法的哈希表实现,所以需要维护了一个next节点 typedef struct dictEntry {void *key;union {void *val;uint64_t u64;int64_t s64;double d;} v;struct dictEntry *next; } dictEntry; 复制 哈希表数据结构 其中size是当…

景区旅游多商户版小程序v14.3.1+前端

🎈 限时活动领体验会员:可下载程序网创项目短视频素材 🎈 🎉 有需要的朋友记得关赞评,文章底部来交流!!! 🎉 ✨ 源码介绍 【新增】全新授权登录支持取消登录 【新增】商…

3.12生产者消费者模型 3.13条件变量 3.14信号量 C++实现生产者消费者模型

3.12生产者消费者模型 生产者消费者模型中的对象: 1、生产者 2、消费者 3、容器 若容器已满,生产者阻塞在这,通知消费者去消费;若容器已空,则消费者阻塞,通知生产者去生产。生产者可以有多个,消…

RK3588平台开发系列讲解(USB篇)Linux Android USB软件架构

平台内核版本安卓版本RK3588Linux 5.10Android 12文章目录 一、高通平台USB软件架构二、USB 设备侧软件组成2.1、OTG driver2.2、Device controller driver2.3、Gadget framework2.4、Function drivers三、USB 主机侧软件3.1、Host controller driver3.2、USB core3.3、USB PHY…

chatgpt赋能python:Python取消断点的方法

Python取消断点的方法 在Python开发过程中,我们经常需要设置断点来帮助我们调试代码。但是,有时候我们可能需要取消已设置的断点。本文将介绍如何取消Python中的断点。 1. 什么是断点 在Python中,断点是为了帮助调试代码而设置的一个标志。…

网络层:IPv4地址

网络层:IPv4地址 笔记来源: 湖科大教书匠:IPv4地址概述 湖科大教书匠:分类编址的IPv4地址 湖科大教书匠:划分子网的IPv4地址 湖科大教书匠:无分类编址的IPv4地址 IPv4地址就是给因特网(Internet)上的每一…