适合java程序员新手 掌握基础知识-java web应用

Web后端基础知识 文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结 前言 提示:以下是本篇文章正文内容,下面案例可供参考 一、pandas是什么? 示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。 二、使用步骤 1.引入库 代码如下(示例): import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns import warnings 阅读详情

1、 静态Web和动态Web的区别?

静态Web与动态Web最本质的区别是静态Web是无法进行数据库操作,而动态Web是可以进行数据库操作的。

动态Web的最大特点就是具有交互性,所谓交互性就是服务器端会自动根据用户请求的不同而显示不同的结果。

2、 说一说你了解的动态Web技术有哪些?

CGI、PHP、ASP、ASP.NET JSP

3、 什么是Servlet

Servlet是运行于服务器端的,按照其自身规范编写的Java应用程序。

小编是一个有着5年工作经验的java程序员,对于java,自己有做资料的整合,一个完整学习java的路线,学习资料和工具,相信这里有很多学习java的小伙伴,我创立了一个2000人学习扣群,479121291。每晚都有java的直播课程。无论是初级还是进阶的小伙伴小编我都欢迎!

1、Servlet是用Java语言编写的,它是一个Java类。因而Servelet遵守所有Java语言的语法规则,并且它可以调用一般Java程序可以调用的JDK类库。

2、Servlet是在服务器端运行的。它编译后的".class"文件被服务器端调用和执行。Web服务器使用该class文件去处理浏览器请求,并将处理的结果返回到客户端。

3、由于Servlet特殊的应用特点,它有自身特殊的规则。一般来说,它必须调用Java Servlet API,必须是对特定类或接口的继承和实现。并且,它必须重写特定的方法去处理客户端请求。

4、 Servlet的主要功能有哪些?

Servlet的主要功能是用来接受、处理客户端请求,并把处理结果返回到客户端显示。其过程如下:

1、客户端把请求送到Servlet处理

2、Servlet处理请求。这时Servlet相应的方法被Web服务器调用去处理请求。这个过程中,Servlet可以和服务器端的其他资源(文件、数据库等)交互。

3、Servlet把请求的结果返回。在这个过程中,Servlet返回的并不仅仅是数据结果,而是整个HTML文件。

5、Servet的生命周期?

生命周期包括加载(创建)程序、初始化、服务、终止(销毁)、卸载5个部分。

6、谈一谈请求转发和重定向的区别?

7、什么是HTTP协议?

HTTP(Hypertext Transfer Protocol)中文 “超文本传输协议”,是一种为分布式,合作式,多媒体信息系统服务,面向应用层的协议,是Internet上目前使用最广泛的应用层协议,它基于传输层的TCP协议进行通信,HTTP协议是通用的、无状态的协议。

8、HTTP协议的主要特点有哪些?

遵循请求/响应模型、无连接、无状态、简单快速、灵活

9、HTTP协议请求由哪几部分组成?

请求行、消息报头、请求正文

10、HTTP协议响应由哪几部分组成?

状态行、消息报头、响应正文

11、HTTP协议中请求方法的GET和POST的区别?

12、CGI(通用网关接口)的缺陷是什么?

一个请求创建一个进程,并发处理性能极低。

13、什么是Web容器?说一说你知道的Web容器?

Web容器负责管理和运行Servlet

Tomcat、Jboss、WebLogic、WebSphere、Oracle9i AS

14、Servlet中哪个类的实例负责处理请求,哪个类实例负责处理响应?

HttpServletRequest、HttpServletResponse

15、Servlet中如何获取提交的表单数据?二进制数据呢?

HttpServletRequest的getParameterValues方法

16、什么是session?Session的原理是什么?

17、什么是Cookie?有什么作用?

18、Web状态管理有哪些解决方案?

表单隐藏字段、Cookie、Session、URL重写

19、HttpSession接口常用的方法有哪些?说出至少三个?

setAttribute、getAttribute、removeAttribute、getId

20、说一说Session的生命周期?

21、说一说HttpServletRequest对象作用域?

HttpServletRequest用于一次客户端请求过程。对于每一个请求,由一个工作线程来执行,都会创建有一个新的HttpServletRequest对象,所以HttpServletRequest对象只能在一个线程中被访问,它是线程安全的。

22、说一说HttpSession对象作用域?

HttpSession对象用于维护与一个客户的会话状态。在HttpSession对象中设置的属性不能被Web应用中所有地方访问。HttpSession对象在用户会话期间存在,只能在处理属于同一个HttpSession的请求的线程中被访问,因此Session对象的属性访问理论上是线程安全的。 但当用户打开多个同属于一个进程的浏览器窗口,在这些窗口的访问属于同一个HttpSession对象,会出现多次请求,需要多个工作线程来处理请求,可能造成同时多线程读写属性。 这时我们需要对属性的读写进行同步处理,一般使用同步块Synchronized来解决。当会话被销毁,HttpSession中的设置的属性也会被销毁。

23、说一说ServletContext对象作用域?

对于整个Web应用,只有一个ServletContext对象,而且在Web应用中的所有地方都可以访问它。Servlet对象由Web容器创建并实例化,它可以多线程同时读/写属性,是线程不安全的。所以需要对属性的读写进行同步处理或者进行深度Clone。当Web容器关闭,会销毁ServletContext对象。

建议:在ServletContext对象中尽可能少量保存会被修改的数据,可以采取其他方式在多个Servlet中共享,常用的方法是使用单例模式来处理共享数据。

24、说一说ServletContext对象、HttpSession对象以及HttpServletRequest对象的区别?

三个对象的共同点:都可以用于存取属性(或对象),拥有相同的属性操作方法。

三个对象作用域大小的比较(从大到小)

ServletContext对象 > HttpSession对象 > HttpServletRequest对象

三个对象存活时间长短的比较(从长到短)

ServletContext对象 > HttpSession对象 > HttpServletRequest对象

三个对象对资源消耗的比较(从多到少)

ServletContext对象 > HttpSession对象 > HttpServletRequest对象

三个对象的线程安全性比较

ServletContext对象线程不安全;

HttpSession对象线程较安全;

HttpServletRequest对象线程安全

25、说一说Servlet监听器的事件类型有哪些?

ServletContext事件、HttpSession事件、ServletRequest事件

26、ServletContext事件的监听器有哪些?

27、HttpSession事件的监听器有哪些?

28、ServletRequest事件的监听器有哪些?

29、如何统计Web在线人数?

HttpSessionListener接口

30、什么是Servlet的过滤器?说一说过滤器原理?

31、Servlet过滤器有哪些常见应用?说出至少三个

1:认证过滤:对用户请求进行统一的认证。

2:登录和审核过滤:对用户的访问请求进行记录和审核。

3:图像转换过滤:转换图像格式。

4:数据压缩过滤 :对用户发生的数据进行压缩,从而减少传输量。

5:加密过滤:对请求和响应进行加密解密处理。

6:令牌过滤

7:资源访问触发事件过滤

8:XSLT过滤

9:MIME-type过滤

32、说一说Servlet的缺陷?

一个动态网页中,其实大部分的内容都是HTML代码等固定不变的内容,只有局部内容需要动态产生及改变。而在Servlet中,所有的HTML语句都需要通过print或println一句一句输出,编写和修改HTML非常不方便,繁琐而令人厌恶。

部署Servlet也是繁琐而容易出错的任务。Servlet3.0规范新特性中使用annotation(注释标识)进行部署描述,简化流程。

Web项目开发中,如果一个项目全部用Servlet编写,那么很难区分前端开发和后端开发,而要求开发人员掌握更多的技能,不利于项目分工。

33、什么是JSP?

JSP全名为Java Server Pages,中文名叫java服务器页面,其本质是一个简化的Servlet设计。它是在传统的网页HTML文件中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)。

34、JSP的生命周期?

1)由JSP引擎将JSP页面翻译成JAVA代码(翻译)

2)将JAVA代码编译成class字节码文件(编译)

3)加载到Web容器(类装载)

4)由容器实例化成对象(类实例化)

5)初始化阶段相关的方法是jspInit(初始化)

6)请求到达,调用服务阶段相关的方法是_jspService(服务)

7)销毁阶段相关的方法是jspDestroy (销毁)

35、JSP页面主要由哪两部分组成?

JSP网页主要由元素(Element)和模板数据(Template Data)两个部分组成 。

36、JSP元素有哪些类别?

元素是必须Web容器处理的部分。可以分成三种不同的类别:脚本元素、指令、动作。

37、脚本元素由哪些部分组成?

声明、Scriptlet和脚本表达式

38、JSP程序中有3种指令,分别是什么?

分别page(页面)指令、include指令和taglib指令

39、说一说include指令与include动作的区别?

使用include指令,被包含的文件为原封不动的插入到包含页中使用该指令的位置,然后JSP编译器再对这个合成的文件进行编译,所以在一个JSP页面中使用include指令来包含另外一个JSP页面,最终编译后的文件只有一个。

使用include 动作标识包含文件时,当该标识执行时,程序会将请求转发到(注意是转发而不是重定向)被包含的页,并将执行结果输出到浏览器中,然后返回包含页继续执行后面的代码,因为服务器执行的是两个文件。所以JSP编译器会分别对这两个文件进行编译。

40、说一说JSP三种注释的区别?

41、说一说JSP的生命周期?

1)由JSP引擎将JSP页面翻译成JAVA代码

2)将JAVA代码编译成class字节码文件

3)加载到容器

4)由容器实例化成对象

5)初始化阶段相关的方法是jspInit

6)请求到达,调用服务阶段相关的方法是_jspService

7)销毁阶段相关的方法是jspDestroy

42、说出JSP的隐式对象有哪些?至少说出5个?

request、response、pageContext、session、application、out、config、page、exception

43、什么是JavaBean?标准的JavaBean需要具备哪些特征?

JavaBean类必须是一个公共类,将其访问属性为public

JavaBean 类必须有一个空的构造函数

JavaBean类的成员变量都为private。要访问这些成员变量,应该通过一组存取方法(getXxx 和 setXxx)来访问,不能以大写字母开始命名成员变量,前两个字母都不能是大写

JavaBean应该是可序列化(serializable)的,即实现java.io.Serializable 接口

44、结合JavaWeb谈一谈你对MVC设计模式的理解?

45、说一说EL表达式和脚本表达式的区别?

46、说一说JSTL标准标签库中5个常用标签,其中重定向标签是什么?

47、说一说什么是AJAX?它是一门新的语言或技术吗?

48、AJAX包含的7种技术是什么?

AJAX技术包含了JavaScript、XML、CSS、XSTL、DOM、HTML/XHTML和XMLHttpRequest七种技术,所以AJAX就像是粘合剂把七种技术整合到一起,从而发挥各个技术的优势。

49、AJAX的有哪些特点?

1)不需刷新页面就可改变页面内容,减少用户等待时间 (最大特点)

2)改善表单验证方式,不再需要打开新页面,也不再需要将整个页面数据提交

3)按需获取数据,每次只从服务器端获取需要的数据

4)读取外部数据,进行数据处理整合

5)异步与服务器进行交互,在交互过程中用户无需等待,仍可继续操作

50、AJAX的工作原理?它与传统Web的区别?

51、AJAX开发的步骤是什么?

建立XMLHttpRequest对象

设置回调函数

使用open方法与服务器建立链接

向服务器端发送数据

在回调函数针对不同响应状态进行处理

52、说一说XMLHttpRequest有哪些常用属性和方法?

属性:readyState、status、responseText

方法:open send

53、说一说jQuery AJAX封装了哪些方法?哪个方法是封装的最底层的方法?

ajax、get、post、load、getScript、getJSON

适合Java新手入门的Java Web个人网站项目实战 看到这里,你可能觉得内容很多、很杂。但请相信我,每一个优秀的Java工程师,都是从这样一个个“轮子”造过来的。你现在掌握的不再是孤立的知识点,而是一整套企业级Web开发的方法论:- 如何设计数据库?- 如何分层编码?- 如何保证线程安全?- 如何优化性能?- 如何协同团队?这些经验,远比背几个Spring注解珍贵得多。所以,别再停留在“我会HelloWorld”的阶段了。马上动手,把这个博客系统从头到尾敲一遍。遇到问题就查、就问、就调试。 阅读详情

相关推荐

NetBeans新手入门:创建Java Web应用实战指南

NetBeans IDE 是一个开放源码的集成开发环境,特别为Java开发设计,支持多种编程语言如C/C++、HTML5等。它提供了一个直观的用户界面以及丰富的工具和插件,使开发者能够方便地进行编码、调试以及构建各种应用程序。NetBeans IDE 为开发Java Web项目提供了一个高度组织化的文件结构。理解这个结构对于有效管理项目至关重要。通常情况下,一个Web项目将包含以下文件夹和文件:: 这个文件夹包含了所有的源代码文件(.java)。Web Pages。

weixin_36431145的博客 1321

java基础(适合零基础)持续更新

目录 java语言的概述 1、概述 2、Java语言特点 3、java的加载与执行 开始第一个java程序 1、安装JDK(这里安装JDK1.8) 2、安装文本编辑器Editplus 3、JDK目录介绍 4、JDK、JRE、JVM的关系 5、配置环境变量 6、用 Editpuls写第一个程序 7、编译: 8、运行 9、使用java集成工具IDEA进行开发 9.1、Idea工具 9.2、 IDEA工具的使用 9.3、IDEA工具常用快捷键 java语言基础(从这...

qq_39140680的博客 6606

Java程序员基础知识汇总

Java程序员基础知识汇总 常见Java笔试题汇总

程序员如何快速入门?

如果你没有好的学历,也没有工作经验,在工作上没得选。那就不要选,谁要你就去哪,前期不给钱都没关系,相对于后期稳定后的工资,这时候关键是学到点东西。工作内容:新人入职后一般都是先做简单的执行层面的任务,比如写几个简单的模块,修复某个bug。如果你是后期才加入项目的,意味着项目前期做了很多次迭代,你现在接手参与的代码已经很复杂了,这时候熟悉原有代码的方式就是改bug,改完之后还得先给上级过一下。然后在转测试,这样对你熟悉代码是非常有好处的。那么在选择公司的时候,还要考察公司所属行业的发展和公司内部的技术氛围。

sys025的专栏 419

程序员入门教程【非常详细】从零基础入门到精通,看完这一篇就够了 !

零基础编程入门先学什么?编程语言有几百种,我们应该怎么选择。想学习编程,加入互联网行业,哪一个更有前途?在小白学习编程会有各种各样的问题,今天小编我就来为你解答。一、怎么选择编程语言。编程语言有很多种,但方向不同。每个人都需要根据工作方向、学习难度和发展前景做出选择。

xx16755498979的博客 5万+

编程入门:五个你必须知道的编程常识

当我们谈论编程时,大多数人首先想到的是写代码。这是正确的,但并不完整。编程不仅仅是写代码,而是解决问题的一种方式。编程是一种工具,我们使用它来创建能够解决特定问题的产品和服务。比如,你想开发一个手机应用来帮助人们更有效地管理时间。你需要编写代码来实现应用的各种功能,如设置提醒、制定计划等。但是,这还不够。你还需要考虑用户如何使用这个应用,如何设计界面使之更易用,如何优化应用性能让其运行更流畅,等等。因此,编程不只是编写代码,更是思考问题、设计解决方案、实现功能、测试产品、优化性能等一系列过程的整合。

2301_78095812的博客 3080

JavaWeb---4、Servlet

构造器和init()方法是在Servlet实例创建并准备开始接收请求之前调用的。service()方法是在每次HTTP请求到来时调用的。destroy()方法是在Servlet实例被卸载或销毁前调用的。通过生命周期测试我们发现Servlet对象在容器中是单例的容器是可以处理并发的用户请求的,每个请求在容器中都会开启一个线程多个线程可能会使用相同的Servlet对象,所以在Servlet中,我们不要轻易定义一些容易经常发生修改的成员变量。

weixin_57041824的博客 1209

JavaJava Web基础知识

Java Web基础知识总结 -------------------------------------Java中,动态web资源开发技术统称为Javaweb 1. web服务器与Http协议 1. web服务器 Internet上供外界访问的Web资源分为: • 静态web资源(如html 页面):指web页面中供人们浏览的数据始终是不变。 • 动态web资源:指web页面中供人们浏览的数据是...

lmy 7387

GitHub 上适合新手的开源项目(Python 篇)

作者:HelloGitHub-卤蛋 随着 Python 语言的流行,越来越多的人加入到了 Python 的大家庭中。为什么这么多人学 Python ?我要喊出那句话了:“人生苦短,我用 Python!”,正是因为语法简单、容易学习,所以 Python 深受大家喜爱。(Python!Python!Python!) Python 初学者在迈过安装编程环境和基本语法的门槛 ,准备大展身手的时候,可能突然就会进入迷茫期:不知道做些什么、再学些什么。然后对编程的兴趣就会慢慢消退,找不到坚持下去的理由,从而慢慢淡忘之.

HelloGitHub 的博客 1万+

有哪些适合新手练手的Java Web项目?

上周写了一篇有哪些适合新手练手的Java项目? - 学习编程 - 知乎专栏,反响还不错,很多朋友都希望能有一篇整理Java Web项目的文章。于是今天整理了一些Java Web的项目。当然在上一篇文章中,有一位朋友评论问我是不是所有的项目我都有运行过。不是!我并没有把所有的项目都运行过,但是这些项目有一半是我在以前学习过程中敲过。另一半是我挑选评分比较高,评论区都是好评的项目。当然,所有推荐的项目...

weixin_40190107的博客 594

一个java程序员如何从新手慢慢成长

我也搞了几年JAVA了,由于一向懒惰,没有成为大牛,只是一普通程序猿,不爱玩社交网站,不爱玩微博,唯独喜欢百度贴吧,潜水很久了,手痒来给新人分享下从新手成长为老鸟的已见,也刷刷存在感,应该不比曝照差吧。 首先初识语法的阶段,必须要学会怎么操作对象,操作if和for,操作list set map,然后是线程、IO和jdbc什么的,其余的,若是一时不理解,可以后边需要时再学。 这阶段完了,

John Kwan's Blog 6261

Java WEB应用基础

本作品采用知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议进行许可。   所谓基于JavaWEB应用,是通过Java技术实现HTTP协议的一种应用Java技术中实现HTTP协议的核心技术是servlet技术,随着架构技术的不断完善,servlet基础理论逐渐被淡忘,本文所讨论的就是被大家淡忘的那些基础知识Java WEB应用基础理论统一资源定位符(URL

丑小鸭技术专栏 2785

JAVA Web应用开发项目教程

JavaScript是一种轻量级的编程语言,用于实现动态网页效果。学习JavaScript的基础语法,如变量、函数、条件语句等,是开发交互式Web应用的关键。// 示例:简单的JavaScript脚本alert('按钮被点击了!');});});AJAX(异步JavaScript和XML)允许Web页面在不重新加载整个页面的情况下更新部分内容。掌握如何使用XMLHttpRequest或其他现代API实现AJAX请求,能够提升Web应用的响应性和用户体验。四、Java Web核心组件。

2401_84243203的博客 1079

java web开源项目源码_适合Java新手的开源项目集合——在 GitHub 学编程

作者:HelloGitHub-老荀当今互联网份额最大的编程语言是哪一个?是 Java!这两年一直有听说 Java 要不行了、在走下坡路了。没错,Java 的确在走下坡路,未来的事情的确不好说,但是瘦死的骆驼比马大,未来的三五年之内,我相信 Java 仍然是行业“一哥”!各位是否和我刚学完 Java 基础语法时一样,陷入过不知道 Java 能做什么的困扰中?觉得 Java 只能在控制台里 Syste...

weixin_39896839的博客 1069

适合所有新手小白的Web前端开发学习大纲!

Web前端几年是越来越火热了,让更多的人看到了Web前端的高薪资,更看到了Web前端行业的发展前景,所以纷纷投入到学习Web前端技术学习中来,那么有没有一份适合新手小白学习的Web前端开发教学大纲提供给大家学习呢? 想要学好Web前端开发,有一份详细的学习课程大纲必不可少。下面千锋武汉Web前端培训小编给大家分享适合所有新手学习的大纲,相信有这样一份学习大纲会让你的学习之路更清晰。 第一阶...

weixin_43955769的博客 958

Actix Web适合什么类型的Web应用?可以部署 Java 或 .NET 的应用程序

Actix Web是一个高性能的Rust异步Web框架,特别适合构建高并发、低延迟的API服务、实时通信应用(如WebSocket)、边缘计算/Serverless函数以及高吞吐数据管道。

软件行业技术文化交流。 934

有哪些适合新手练手的Python项目?

学习编程专栏连载编程新手练手项目系列之python项目篇,同样也欢迎热爱学习、对Java感兴趣的朋友学习翻阅上两篇内容。(连载系列的项目整理以后会在每个月进行一次重新整理,也欢迎大家进行项目的投稿,投稿请私信我。) 有哪些适合新手练手的Java项目? - 学习编程 - 知乎专栏 有哪些适合新手练手的Java Web项目? - 学习编程 - 知乎专栏 Python毫无疑问是一门很伟

sisiair的博客 4894

适合新手小白学习的web前端开发教学大纲

Web前端几年是越来越火热了,让更多的人看到了前端的高薪资,更看到了前端行业的发展前景,所以纷纷投入到学习前端技术学习中来,那么有没有一份适合新手小白学习的web前端开发教学大纲提供给大家学习呢? 想要学好web前端开发,有一份详细的学习课程大纲必不可少的,今天给大家分享千锋教育这份适合所有新手学习的web前端开发教学大纲,相信有这样一份学习大纲会让你的学习之路更清晰。       ...

QF _WEB 1206
上一篇: 深受Java程序员欢迎的10款Java IDE
下一篇: Java程序员,最常用的20%技术有哪些?
java03_15
博客等级 码龄8年 263粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值