Java复习-Tomcat/servlet/HTTP与MVC设计模式

JavaWeb实战学习地图:从Servlet到MVC架构与数据库连接池详解 JavaWeb开发是构建企业级Web应用的核心技术栈,其基础建立在Servlet规范之上,通过处理HTTP请求与响应实现动态内容交互。理解Servlet的生命周期、线程安全模型及请求转发与重定向的原理,是掌握Web开发的关键。这一技术价值在于能够构建稳定、可扩展的后端服务,广泛应用于电商、金融、社交等各类互联网平台。在实际开发中,采用MVC设计模式进行职责分离,并结合数据库连接池技术优化性能,是提升工程实践能力的必经之路。本文基于JavaWeb学习笔记,深入解析Servlet核心机制、MVC分层架构的实现, 阅读详情

十三 Tomcat/servlet/HTTP与MVC设计模式
13.1 Tomcat的安装配置与使用
13.1.1Tomcat的安装
1、直接到官网下载Tomcat安装程序包:http://tomcat.apache.org/
2、下载下来后是个压缩包,如:apache-tomcat-7.0.40.zip,解压到一个非中文目录下即可完成安装。
tomcat的目录结构
bin 包含启动/关闭脚本
conf 包含不同的配置文件,包括 server.xml(Tomcat的主要配置文件)和为不同的Tomcat配置的web应用设置缺省值的文件web.xml
lib 包含Tomcat使用的jar文件.unix平台此目录下的任何文件都被加到Tomcat的classpath中
logs 存放Tomcat的日志文件
temp 存放一些临时文件
webapps 包含web项目示例,当发布web应用时,默认情况下把web文件夹放于此目录下
work Tomcat自动生成,放置Tomcat运行时的临时文件(如编译后的JSP文件).如在Tomcat运行时删除此目录.JSP页面将不能运行.[ jsp生成的sevlet放在此目录下]
3、tomcat目录结构:

13.1.2Tomcat的配置(默认已经安装好java环境,如果未安装java会报错)
方法1、双击bat文件启动:
   进入到tomcat安装目录的bin目录下,双击startup.bat即可启动tomcat(还可以把startup.bat发送到桌面,以后启动就方便了)。
方法2、命令行启动(可以任意目录下启动):
1、打开命令行窗口,直接输入startup然后回车,提示不是内部或外部命令:

2、把tomcat的安装bin目录添加到环境变量path中,再试(重新启一个命令行窗口),提示如下:

3:添加环境变量,D:\tomcat是我的安装目录
    
13.1.3Tomcat的使用
启动好tomcat后,在浏览器地址栏输入:http://localhost:8080/,显示如下表示toamcat启动成功。

修改Tomcat服务器端口
 找到Tomcat的安装目录下的conf文件夹,打开里面的server.xml文件,修改配置文件中的Connector节点的port属性进行的端口修改,修改后重启tomcat后就可以使用新端口访问了。

13.2 Servlrt的基础知识
13.2.1Servlet简介
Servlet是sun公司提供的一门用于开发动态web资源的技术。
  Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向浏览器输出数据),需要完成以下2个步骤:
  1、编写一个Java类,实现servlet接口。
  2、把开发好的Java类部署到web服务器中。
  按照一种约定俗成的称呼习惯,通常我们也把实现了servlet接口的java程序,称之为 Servlet
13.2.1Servlet运行过程(生命周期)
Servlet程序是由WEB服务器调用,web服务器收到客户端的Servlet访问请求后:
  ①Web服务器首先检查是否已经装载并创建了该Servlet的实例对象。如果是,则直接执行第④步,否则,执行第②步。
  ②装载并创建该Servlet的一个实例对象。 
  ③调用Servlet实例对象的init()方法。
  ④创建一个用于封装HTTP请求消息的HttpServletRequest对象和一个代表HTTP响应消息的HttpServletResponse对象,然后调用Servlet的service()方法并将请求和响应对象作为参数传递进去。
  ⑤WEB应用程序被停止或重新启动之前,Servlet引擎将卸载Servlet,并在卸载之前调用Servlet的destroy()方法。 
13.2.3Servlet开发步骤
1:在eclipse/Myeclipse中新建一个JAVAWeb Project
2:在web工程中新建一个web包
3:在包中新建一个TestServlet的类继承HTTPServet类,复写父类的service方法
4:在service方法中实现业务代码
5:在web.xml文件中配置请求对应的servlet类

testname
web.TestServlet

testname *.do 上述的*.do代表匹配所有的.do请求;*是通配符,将其后的所有对应请求与其servlet name相同的servlet,执行对应的业务代码。 此外还可以在servlet配置文件中配置servlert自动加载 0 0代表优先级,数字越小优先级越高,通常只用需要在服务器配置后就初始化的servlert需要配置,通常不推荐配置 6:在前台发出对应请求如Http://localhost:8080/testweb/list.do 这个时候,服务器接收到请求,先去web.xml配置文件中查找锁对应的servlet,找到后加载对应的servlet类到servlet容器,进行初始化,先执行init方法,可以进行一个配置文件配置,在执行service方法完成对应的业务。最后执行完毕返回前台,servlet类执行detory方法销毁,从servlet容器中推出 13.2.4 Servler开发注意细节 1:URL配置 通常在编写servlet时,很多人会忘记配置servlet,这样请求过来服务器,就找不到对应的servlet类了,所以一定不能忘记在web.xml文件中配置对应URl和对应的Servlet

2:URL的通配符 * 配置
在Servlet映射到的URL中也可以使用通配符,但是只能有两种固定的格式:一种格式是".扩展名",另一种格式是以正斜杠(/)开头并以"/*"结尾。例如:
a)

testname
web.TestServlet

testname *.do b) testname web.TestServlet testname /action/*

3 Servlet和普通Java类的区别
  Servlet是一个供其他Java程序(Servlet引擎)调用的Java类,它不能独立运行,它的运行完全由Servlet引擎来控制和调度。
  针对客户端的多次Servlet请求,通常情况下,服务器只会创建一个Servlet实例对象,也就是说Servlet实例对象一旦创建,它就会驻留在内存中,为后续的其它请求服务,直至web容器退出,servlet实例对象才会销毁。
  在Servlet的整个生命周期内,Servlet的init方法只被调用一次。而对一个Servlet的每次访问请求都导致Servlet引擎调用一次servlet的service方法。对于每次访问请求,Servlet引擎都会创建一个新的HttpServletRequest请求对象和一个新的HttpServletResponse响应对象,然后将这两个对象作为参数传递给它调用的Servlet的service()方法,service方法再根据请求方式分别调用doXXX方法。
  如果在元素中配置了一个元素,那么WEB应用程序在启动时,就会装载并创建Servlet的实例对象、以及调用Servlet实例对象的init()方法。
    举例:
    
        invoker
        
           web.InvokerServlet
        
        1
    
用途:为web应用写一个InitServlet,这个servlet配置为启动时装载,为整个web应用创建必要的数据库表和数据。

4缺省Servlet
  如果某个Servlet的映射路径仅仅为一个正斜杠(/),那么这个Servlet就成为当前Web应用程序的缺省Servlet。 
  凡是在web.xml文件中找不到匹配的元素的URL,它们的访问请求都将交给缺省Servlet处理,也就是说,缺省Servlet用于处理所有其他Servlet都不处理的访问请求。

5 Servlet的线程安全问题
  当多个客户端并发访问同一个Servlet时,web服务器会为每一个客户端的访问请求创建一个线程,并在这个线程上调用Servlet的service方法,因此service方法内如果访问了同一个资源的话,就有可能引发线程安全问题
 针对Servlet的线程安全问题,Sun公司是提供有解决方案的:让Servlet去实现一个SingleThreadModel接口,如果某个Servlet实现了SingleThreadModel接口,那么Servlet引擎将以单线程模式来调用其service方法。
  查看Sevlet的API可以看到,SingleThreadModel接口中没有定义任何方法和常量,在Java中,把没有定义任何方法和常量的接口称之为标记接口,经常看到的一个最典型的标记接口就是"Serializable",这个接口也是没有定义任何方法和常量的,标记接口在Java中有什么用呢?主要作用就是给某个对象打上一个标志,告诉JVM,这个对象可以做什么,比如实现了"Serializable"接口的类的对象就可以被序列化,还有一个"Cloneable"接口,这个也是一个标记接口,在默认情况下,Java中的对象是不允许被克隆的,就像现实生活中的人一样,不允许克隆,但是只要实现了"Cloneable"接口,那么对象就可以被克隆了。
  让Servlet实现了SingleThreadModel接口,只要在Servlet类的定义中增加实现SingleThreadModel接口的声明即可。  
  对于实现了SingleThreadModel接口的Servlet,Servlet引擎仍然支持对该Servlet的多线程并发访问,其采用的方式是产生多个Servlet实例对象,并发的每个线程分别调用一个独立的Servlet实例对象。
  实现SingleThreadModel接口并不能真正解决Servlet的线程安全问题,因为Servlet引擎会创建多个Servlet实例对象,而真正意义上解决多线程安全问题是指一个Servlet实例对象被多个线程同时调用的问题。事实上,在Servlet API 2.4中,已经将SingleThreadModel标记为Deprecated(过时的)。  
13.3 HTTP协议与HTTPS协议
A) HTTP和HTTPS的基本概念
  HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。
  HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。
  HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。
B)HTTP与HTTPS有什么区别?
  HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全,为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。简单来说,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全。
  HTTPS和HTTP的区别主要如下:
  1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。
  2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
  3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
  4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
C) HTTPS的工作原理
  我们都知道HTTPS能够加密信息,以免敏感信息被第三方获取,所以很多银行网站或电子邮箱等等安全级别较高的服务都会采用HTTPS协议。

客户端在使用HTTPS方式与Web服务器通信时有以下几个步骤,如图所示。
  (1)客户使用https的URL访问Web服务器,要求与Web服务器建立SSL连接。
  (2)Web服务器收到客户端请求后,会将网站的证书信息(证书中包含公钥)传送一份给客户端。
  (3)客户端的浏览器与Web服务器开始协商SSL连接的安全等级,也就是信息加密的等级。
  (4)客户端的浏览器根据双方同意的安全等级,建立会话密钥,然后利用网站的公钥将会话密钥加密,并传送给网站。
  (5)Web服务器利用自己的私钥解密出会话密钥。
  (6)Web服务器利用会话密钥加密与客户端之间的通信。
  
D)HTTPS的优点
  尽管HTTPS并非绝对安全,掌握根证书的机构、掌握加密算法的组织同样可以进行中间人形式的攻击,但HTTPS仍是现行架构下最安全的解决方案,主要有以下几个好处:
  (1)使用HTTPS协议可认证用户和服务器,确保数据发送到正确的客户机和服务器;
  (2)HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全,可防止数据在传输过程中不被窃取、改变,确保数据的完整性。
  (3)HTTPS是现行架构下最安全的解决方案,虽然不是绝对安全,但它大幅增加了中间人攻击的成本。
  (4)谷歌曾在2014年8月份调整搜索引擎算法,并称“比起同等HTTP网站,采用HTTPS加密的网站在搜索结果中的排名将会更高”。
E) HTTPS的缺点
  虽然说HTTPS有很大的优势,但其相对来说,还是存在不足之处的:
  (1)HTTPS协议握手阶段比较费时,会使页面的加载时间延长近50%,增加10%到20%的耗电;
  (2)HTTPS连接缓存不如HTTP高效,会增加数据开销和功耗,甚至已有的安全措施也会因此而受到影响;
  (3)SSL证书需要钱,功能越强大的证书费用越高,个人网站、小网站没有必要一般不会用。
    (4)SSL证书通常需要绑定IP,不能在同一IP上绑定多个域名,IPv4资源不可能支撑这个消耗。
  (5)HTTPS协议的加密范围也比较有限,在黑客攻击、拒绝服务攻击、服务器劫持等方面几乎起不到什么作用。最关键的,SSL证书的信用链体系并不安全,特别是在某些国家可以控制CA根证书的情况下,中间人攻击一样可行。
F)http切换到HTTPS
F)如果需要将网站从http切换到https到底该如何实现呢?
     这里需要将页面中所有的链接,例如js,css,图片等等链接都由http改为https。例如:http://www.baidu.com改为https?/www.baidu.com
  BTW,这里虽然将http切换为了https,还是建议保留http。所以我们在切换的时候可以做http和https的兼容,具体实现方式是,去掉页面链接中的http头部,这样可以自动匹配http头和https头。例如:将http://www.baidu.com改为//www.baidu.com。然后当用户从http的入口进入访问页面时,页面就是http,如果用户是从https的入口进入访问页面,页面即使https的。
13.4 mvc设计模式和mvc框架的区别
Spring中的新名称也太多了吧!IOC/DI/MVC/AOP/DAO/ORM…
对于刚刚接触spring的我来说确实晕了头!可是一但你完全掌握了一个概念,那么它就会死心塌地的为你服务了。这可比女人忠诚多了。
在这里我们来说侃下MVC吧!嗯!MVC设计模型和MVC框架之区别。
一组概念需要先理解,因为后面需要用:
  架构:简单的说架构就是一个蓝图,是一种设计方案,将客户的不同需求抽象成为抽象组件,并且能够描述这些抽象组件之间的通信和调用。
  框架:软件框架是项目软件开发过程中提取特定领域软件的共性部分形成的体系结构,不同领域的软件项目有着不同的框架类型。框架不是现成可用的应用系     统。而是一个半成品,提供了诸多服务,开发人员进行二次开发,实现具体功能的应用系统。
  设计模式:是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结,它强调的是一个设计问题的解决方法。
 
首先来说说MVC设计模型:
1.定义:MVC 设计模型是一种使用 Model View Controller( 模型-视图-控制器)设计创建 Web 应用程序的模式。
  由上主谓宾可以很容易看出,mvc模型是一种用来写web应用程序的样式,也就是说只能写web不能写其它?
2.既然使用了 Model View Controller( 模型-视图-控制器),那么就很有必要来介绍一下该(模型-视图-控制器)到底是怎样的一个东西?
 
Model(模型):是应用程序中用于处理应用程序数据逻辑的部分。
    通常模型对象负责在数据库中存取数据。
 
View(视图):是应用程序中处理数据显示的部分。
    通常视图是依据模型数据创建的。
 
Controller(控制器):是应用程序中处理用户交互的部分。
    通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。
 
再来说说MVC框架:
1.MVC框架,它强制性的使应用程序输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。
  由上可知,要使用MVC框架,则一定要遵守该框架的规则,它有它的强制性所在。聪明的读者一看就知道,它所使用的三个核心部件其实都是来自MVC模型。
  只不过在框架中让他们彼此更加独立了去处理各自的任务而已。
2.最典型的MVC就是JSP + servlet + javabean的模式。
3. 视图:视图是用户看到并与之交互的界面。视图主要有元素HTML ,Adobe Flash,XHTML,XML/XSL,WML等一些标识语言和Web services。
模型:模型表示企业数据和业务规则。
控制器:控制器接受用户的输入并调用模型和视图去完成用户的需求,所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。
 
 
设计模型和框架的区别:(注意这里首先讨论的是总概念!)
先来看看网上给的区别,来自百度百科的:
在软件生产中有三种级别的重用:内部重用(即在同一应用中能公共使用的抽象块),代码重用(即将通用模块组合成库或工具集,以便在多个应用和领域都能使用),应用框架的重用(即为专用领域提供通用的或现成的基础结构,以获得最高级别的重用性)。
框架通常是代码重用,而设计模式是设计重用(?设计重用怎么来的?上下都没它的定义,百科垃圾就在这里。),架构则介于两者之间。
设计模式是对在某种环境中反复出现的问题以及解决该问题的方案的描述,它比框架更抽象;框架可以用代码表示,也能直接执行或复用,而对模式而言只有实例才能用代码表示;设计模式是比框架更小的元素,一个框架中往往含有一个或多个设计模式,框架总是针对某一特定应用领域,但同一模式却可适用于各种应用。可以 说,框架是软件,而设计模式是软件的知识。
百科的回答往往缺乏严谨,我在MBR lib网站中看到它们将软件重用分类为:产品重用/知识重用/环境重用。
框架是代码重用,所以我们在使用框架的时候总是引入很多包。
框架是软件,而设计模式是软件的“知识”。所以模式是框架的基础。
 
再回到MVC这个小概念上来:
根据框架和设计模式的大概念,我们应该可以知道MVC框架和MVC设计模式区别的一二了。
以我的理解,觉得MVC设计模式更像设计师手中的图纸(图纸上的东西往往更抽象),而MVC框架则更像是工程师以设计师的图纸而建造的产品!
最终的产品也许比设计师原来的图纸有所出入,有些功能有所增强,有些又会适当的减弱,以此来更加适应大众的需求和体验!但是在整体上和本质上都是遵循设计师的构造的。
MVC设计模式就像建设房子的基础(地基设计+结构设计+强弱电设计+消防设计+etc),而MVC框架则可在此基础上根据需求构建的漂亮的成品房。
 
常见的框架和设计模型(注意这是大概念)
 
设计模式有哪些?
 MVC、MTV、MVP、CBD、ORM等等;
 
框架有哪些?
 C++语言的QT、MFC、gtk
Java语言的SSH 、SSI
php语言的 smarty(MVC模式)
python语言的django(MTV模式)等等;

java ee+Mysql新闻发布系统 很完整的一个项目,里面包括配置文件,只要按要求操作即可运行。功能齐全,界面完美,代码风格也很完善,可作为毕业设计,课程设计参考等。 立即下载

相关推荐

从编解码芯片看Tesla T4的隐藏实力:双NVDEC如何实现70路1080P解码?

本文深入剖析了英伟达Tesla T4显卡的隐藏实力,重点解读其独特的双NVDEC硬件解码器设计如何突破性能瓶颈。通过分析Turing架构、对比HEVC/H.264解码差异,并结合驱动与SDK优化,揭示了实现高达70路1080P视频流并发解码的原理与实战配置,为云游戏、直播转码等高并发场景提供高效解决方案。

weixin_29209801的博客 484

java web servlet、servlet容器 HTTP服务器和mvc三层架构或者说servlet属于哪一层的,给我搞的晕晕的,今天终于弄明白了

1 servlet 1.1 首先看什么是servlet 我之前把servlet总是和service层弄混。先不管什么是service,这里先理解什么是servlet: Servlet字面意思即服务端小程序 Servlet是一组接口、一组规范、一个协议;用于开发Web项目 一个工程的搭建通常由各模块组成;各个模块分工协作、相互配合可以高效率地构建大型项目。各个模块之间需要一组规范来连接,Servlet就是这样一组规范 Servlet 主要用于处理客户端传来的 HTTP 请求,并返回一个响应,它能够处理的请

#姚大姚 的博客 2576

PSIM联合VS--C++实现正弦波发生

在利用VS联合PSIM仿真中,想要用VS构建一个正弦波发生模块。可以利用Sin函数进行编写,重点是需要编写一个计数器程序。首先打算用for循环语句来构建计数器,但在for循环运行时无法跳出,不能实时获得计数器的值。同理,while循环也无法实现。最后将count变量设置为static型,解决了这一问题。 体现出对于c++程序的运行不够了解,需要多进行程序的编写和调试。 //时钟计数器 static int count = 0; count++; if (count > Sinfre)

weixin_41850228的博客 1086

SpringMVC参数传递 HttpServletRequest,HttpServletResponse和HttpSession

除了model,@RequestParam @PathVariable可以传递参数外,还有HttpServletRequest和HttpServletResponse也可以进行参数传递。Web服务器收到一个http请求,会针对每个请求创建一个HttpServletRequest和HttpServletResponse对象,向客户端发送数据找HttpServletResponse,从客户端取数据找Ht

JavaLab 2万+

Unity中基于SkinMeshRenderer的骨骼动画换装系统优化实践

本文深入探讨了Unity中基于SkinnedMeshRenderer的骨骼动画换装系统优化实践。针对换装卡顿、显示错误等常见问题,文章剖析了SkinnedMeshRenderer的核心数据原理,对比了“数据替换”与“实体替换”两种主流方案的性能差异,并详细阐述了通过骨骼字典缓存、对象池管理、材质合并与Draw Call优化等实战技巧,构建高性能、高稳定性的生产级换装系统。

weixin_29008055的博客 314

通过两个mark点确定某一个点的位置

read_image (Image0, '0.bmp') binary_threshold (Image0, Region, 'max_separability', 'dark', UsedThreshold) connection (Region, ConnectedRegions) fill_up (ConnectedRegions, RegionFillUp) select_shape_std (RegionFillUp, SelectedRegions, 'max_area', 70) red...

优快云博客 3887

Tomcat中设计模式

文章目录1 Tomcat中设计模式1.1 门面设计模式1.1.1 门面设计模式的原理1.1.2 Tomcat的门面设计模式示例1.2 观察者设计模式1.2.1 观察者模式的原理1.2.2 Tomcat的观察者模式示例1.3 命令设计模式1.3.1 命令模式的原理1.3.2 Tomcat中命令模式的示例1.4 责任链设计模式1.4.1 责任链模式原理1.4.2 Tomcat中的责任链模式示例 1 Tomcat中设计模式 在Tomcat中用了很多设计模式,如模板模式、工厂模式和单例模式等一些常用的设计模式,对这

上善若泪 1141

ComfyUI全自动换装工作流:从零到一的实战指南

本文提供了一份详细的ComfyUI全自动换装工作流实战指南。从环境配置、模型准备到核心工作流架构的逐步拆解,手把手教你搭建一条高效的AI换装流水线。文章深入解析了从输入、预处理、融合到输出的四步核心逻辑,并分享了关键参数调优与进阶技巧,旨在帮助电商从业者、内容创作者及AI爱好者轻松实现高质量、高效率的“一键换装”。

weixin_29198045的博客 894

Jetty 的工作原理以及与 Tomcat 的比较

简介: Jetty 应该是目前最活跃也是很有前景的一个 Servlet 引擎。本文将介绍 Jetty 基本架构与基本的工作原理:您将了解到 Jetty 的基本体系结构;Jetty 的启动过程;Jetty 如何接受和处理用户的请求。你还将了解到 AJP 的一些细节:Jetty 如何基于 AJP 工作;以及 Jetty 如何集成到 Jboss;最后我们将比较一下两个 Servlet 引擎:Tomcat...

浪迹天涯 635

STM32中断实战:用ITR9606红外传感器DIY转速计数器(附完整代码)

本文详细介绍了如何使用STM32中断机制和ITR9606红外传感器DIY高精度转速计数器。从传感器选型、中断配置到抗干扰设计,提供完整的实战指南和优化代码,特别适合嵌入式开发者和硬件工程师快速实现工业级转速检测系统。

weixin_29159613的博客 288

1.1 了解Spring框架 -《SSM深入解析与项目实战》

文章目录第1篇 基础概念第1章 谈谈SSM框架和Redis1.1 了解Spring框架1.1.1 如何学习Spring1.1.2 IoC(Inversion of Control 控制反转)1.1.3 AOP(Aspect Oriented Programing面向切面编程) 项目中所有的源码都可以在此链接的仓库中找到:https://github.com/chenhaoxiang/uifuture-ssm 本章非常形象的介绍了Springn中最核心的两个概念,IoC和AOP,使用了现实中的例子

谙忆-陈浩翔 2133

JavaWeb知识点复习(第一次)

JavaWeb 学习完这一个阶段,我们应该是能够完成一个简单的javaEE企业级开发项目了。后来的那些技术都是对JavaWeb技术的一个再封装,继而使得操作系更强,对开发者更加友好。 JavaWeb是走向外来的关键一步。我由于总总原因直接上手了SSM,最开始感觉还是有些许吃力的,毕竟东西学起来容易,但是思维转变起来却很难。JavaWeb是java进阶到SSM框架的一个过渡阶段,如果你在javaW...

持续Java学习中 6621

Apollo Planning决策规划算法代码详细解析 (2):Scenario执行

上一章节讲Scenario的决策逻辑,当确认当前Scenario后,本章节继续深入讲解在代码中,Scenario的执行过程。Scenario的Process()函数根据配置文件顺序执行stage,并判断目前处于哪个stage。当确认好stage后调用该stage对应的Process()函数,来进行具体的规划任务。 码字不易,喜欢的朋友们麻烦点个关注与赞。 在本文你将学到下面这些内容: Scenario的Process()函数的作用于调用方式; Scenario对象的初始化方法; 如何给每个Scen

自动驾驶Player的博客 5608

2025-2026-1JavaWeb复习指引(知识点总结)以及(压缩版)JSP与Servlet核心技术详解:从B/S架构到MVC模式

B/S即浏览器/服务器架构,前端负责页面展示与用户交互、后端处理业务逻辑和数据交互,二者通过HTTP协议通信,Tomcat作为Java Web服务器可部署后端应用并接收前端HTTP请求、返回处理结果。跳转方式请求次数地址栏变化能否传 request 域数据能否传参是否可跨应用HTML 超链接1✅❌✅(URL)✅表单 action 提交1❌✅✅(同域)重定向(Redirect)2✅❌✅(URL)✅请求转发(Forward)1❌✅✅(任意)❌(仅本应用)

吾为热爱计科,致力于知识分享的践行者,此博客是我在这条道路上留下的足迹。 1056

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

jsp期末复习

文章目录1.2 Tomcat的目录2.1 JSP的执行流程2.2.1 page 指令指令包含标签包含指令包含和标签包含的区别include和forward理解HTTP协议 1.2 Tomcat的目录 bin:存放Tomcat的可执行文件和脚本文件(扩展名为bat的文件)。 conf:配置文件 lib:Tomcat服务器和Web程序应用的JAR文件 logs:日志文件 temp:运行时产生的临时文...

Archer的博客 4309

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

mvc设计模式现在过时了吗_设计模式,源码分析,springdata复习

训练大纲(第110天)大家如果想快速有效的学习,思想核心是“以建立知识体系为核心”,具体方法是“守破离”。确保老师课堂上做的操作,反复练习直到熟练。第217次(技术测评)设计模式什么是设计模式?你是否在你的代码里面使用过任何设计模式?设计模式是在软件设计中常见问题的通用、可反复使用、多数人知晓的一种解决方案或模板;这些解决方案是在相当长的一段时间内由众多软件开发人员通过反复试验获得的。设计模式可分...

weixin_30120049的博客 123

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Tomcat10运行springMVC项目浏览器访问出现java.lang.NoClassDefFoundError: javax/servlet/http/HttpServlet错误解决方法

1.问题描述 今天复习springMVC知识点时,写了一个简单的SpringMVC项目练练手,但是在Tomcat10运行时控制台没报错,浏览器出现java.lang.NoClassDefFoundError:javax/servlet/http/HttpServlet错误(如图1所示) 图1 2.问题分析 出现了上述错误后,开始怀疑是代码出现问题,检查确认代码没有问题后将问题定位在tomcat服务器或项目依赖,在网上查阅一番发现不少同学出现了相同问题,问题关键就是tomcat10服务器,tomcat10

weixin_50874065的博客 2625

《后端开发必收藏!这篇文章让你彻底搞懂 Web 基础》(万字长文一文通透理解)

本期也属于Java后端专栏,笔者为复习Web基础知识所特意出的一期,仅作为复习参考笔记。本期从HTTP协议以及CGI技术讲起,分别介绍了Java Web开发中最基础的Servlet技术和JSP技术以及Java Web开发中主流的MVC设计模式。

wxchyy的博客 2400

Servlet知识点复习

Servlet复习 什么是Servlet?(简介、工作流程、Servlet容器工作流程) 简介: Servlet使用java编写的服务器端应用程序,主要功能是在于交互式的浏览和修改数据,生成动态的Web内容 运行在服务端,用来处理客户端请求并响应给浏览器动态资源 单实例,多线程 Servlet工作流程: 通过在web.xml中配置的url-pattern获取到servlet-na...

littlexbear的博客 449

web复习

web复习 HTTP协议的特点 1)支持客户端(浏览器就是一种Web客户端)/服务器模式。 (2)简单快速:客户端向服务器请求服务时,只需传送请求方式和路径。常用的请求方式有GET、POST等,每种方式规定了客户端与服务器联系的类型不同。由于HTTP简单,使得HTTP服务器的程序规模小,因而通信速度很快。 (3)灵活:HTTP允许传输任意类型的数据,正在传输的数据类型由Content-Type...

chenhanhao0000的博客 1065

Java Web/JSP复习

[&1]Java Web2.0 HTTP1.1 1: 发出请求 2:获取回应 [&2]容器: 1, 管理生命周期(继承、关联、聚合、组合…) 不需要new了。 2,管理数据源【DBCP,C3P0,Durid,BoneCP…】 为什么使用数据源? * 方便数据库的链接,管理连接池(维护一定数量的数据库链接) * 为什么使用数据源链接池 (1): 因为web应用程序默认使用数据源 (...

weixin_41750142的博客 227

Java Web知识复习【不断更正,不断更新】

Java Web

汉尼拔的手术室 562

JSP期末考试复习习题及答案

一. 单选题– 1.(单选题)当用户请求jsp页面时,JSP引擎就会执行该页面的字节码文件响应客户的请求,执行字节码文件的结果是() A. 发送一个JSP源文件到客户端 B. 发送一个Java文件到客户端 C. 发送一个HTML页面到客户端 D. 什么都不做– 2.(单选题)下列动态网页和静态网页的根本区别描述错误的是( D) A. 静态网页服务器端返回的HTML文件是事先存储好的 B. 动态网页服务器端返回的HTML文件是程序生成的 C. 静态网页文件里只有HTML标记,没有程序代码 D. 动态网页中只有

web15085599741的博客 796

java web试题_2019年最新Java Web基础笔试题

一、 填空题(每空2分,共30分)1、在tomcat上发布javaweb应用时的默认目录是__webapps___目录。2、javaweb应用的部署描述符是指 web.xml__ 文件。3、在tomcat中访问helloapp应用的login.html文件时,在浏览器地址栏应写的url为:__http://localhost:8080/helloapp/login.html___。4、Serv...

weixin_32440005的博客 1489

JSP 复习总结

JSP 复习 第二章 基本语法 在 " <%! " 和 “%>” 之间声明变量和方法。声明的变量在整个 JSP 页面都有效,同时多个用户访问时会互相影响,用 synchronized 修饰的成员变量同一时间只能被一个线程访问。 在" <%!" 和 “%>” 之间插入 Java 程序片,并且按顺序执行。程序片里面的变量都是局部变量,不互相影响。可以在程序片中插入 HTML...

Stormjing的博客 2421

【Java基础6】一文理解Servlet技术

文章目录   下午处理了Tomcat的javaweb项目的配置报错,追踪分析了一下javax.servlet包中的 抽象类 HttpServlet、接口 HttpServletRespons、接口 ServletResponse、公共类 PrintWriter,以及相关调用方法。虽然没有进行系统的理论学习,但零散看了一些资料,目前大脑有点像一片浆糊。   从目前来看,接下来今明两天的几篇文章应该聚焦如下内容,其中Servlet篇希望晚上能够完成一部分。 复习公共类、抽象类、接口的相关概念 较为全面地学习

soldi_er的博客 329
上一篇: Java复习-数据库基础与JDBC
下一篇: Java复习-request/response/cookie/session与jstl,el和jsp和Listener和Filter
Debug_lll
博客等级 码龄8年 10粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值