实施java 的web项目需要掌握的技术

实施java 的web项目需要掌握的技术如下:

1.java语言:JSP、Servlet、JDBC、javaBean(Application)从这四部分开始创建web项目。

(一)java Database Connectivity(JBDC)技术

    它是一种执行SQL语句的java API,由一组用java编程语言编写的类与接口组成,为开发人员提供了一个标准的API。

     作用:1.与数据库建立连接

           2.发送SQL语句

           3.处理结果。

       API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。API与系统调用的区别:系统调用代码都处于内核态,API是操作系统提供的一组函数,通常以库的形式存在,供用户调用。

客户端与数据库所有的交互都是通过Connection来完成的。

Statement对象用于向数据库发送Sql语句,对数据库的增删改查都可以通过此对象发送sql语句完成。

ResultSet对象代表Sql语句的执行结果,当Statement对象执行executeQuery()时,会返回一个ResultSet对象

ResultSet对象维护了一个数据行的游标【简单理解成指针】,调用ResultSet.next()方法,可以让游标指向具体的数据行,进行获取该行的数据

 

写一个简单工具类:通过上面的理解,我们已经能够使用JDBC对数据库的数据进行增删改查了,我们发现,无论增删改查都需要连接数据库,关闭资源,所以我们把连接数据库,释放资源的操作抽取到一个工具类

 

(二)Servlet技术

      Servlet是运行在服务器端的程序,可以认为是服务器端的applet,它被web服务器(Tomcat)加载和执行,然后从客户端接收该请求,执行某种操作,然后返回结果。

 

(三)JavaServer Pages(JSP)技术

       JSP全名为Java Server Pages,java服务器页面。JSP是一种基于文本的程序,其特点就是HTML和Java代码共同存在!

       JSP是为了简化Servlet的工作出现的替代品,Servlet输出HTML非常困难,JSP就是替代Servlet输出HTML的。

   

       

             

         

           

           

       JSP是Servlet技术的扩展,本质上就是Servlet的简易方式。但是两者的创建方式不一样,Servlet完全是JAVA程序代码构成,擅长于流程控制和事务处理,通过Servlet来生成动态网页很不直观. JSP由HTML代码和JSP标签构成,可以方便地编写动态网页. 因此在实际应用中采用Servlet来控制业务流程,而采用JSP来生成动态网页. JSP位于MVC设计模式的视图层,而Servlet位于控制层.

       从Servlet分离而来,简化了开发,加强界面设计。JSP容器收到客户端发出的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式响应给客户端。程序片段可以是:操作数据库,重新定向网页。所有程序操作都在服务器端执行,网络上传送给客服端的仅是得到的结果,与客户端的浏览器无关。

       JSP技术将许多功能封装起来,成为自定义标签,根据XML的标准制订,可以直接供开发人员使用。

    

 

(四)JavaBean应用组件技术

         JavaBean就是一个普通的java类,也称之为简单java对象。是Java程序设计中一种设计模式,是一种基于 Java 平台的软件组件思想。

        使用javaBean的好处就是:封装,重用,可读!JaveBean你可以理解为一辆货车,在你的java端和web页面进行数据传递的载体,你当然可以每个变量单独传递,或者使用集合传递,但是javabean可以使你的数据更有可读性,方便开发时明确变量的意义,也使其他阅读你代码的人能直接你的意图

        如果把bean类与数据库联合使用,一张表使用bean类,可以使你的代码更加简洁高效,易于理解,现在大多数框架都会使用这种机制。

        提供常用功能可以重复使用,可以让开发人员将某些功能和核心算法提取出来封装成为一个组件对象,这样就增加了代码的重用率和系统的安全性。

        上面的文字看起来好像很高大上,javaBean其实非常简单,下面的代码就是按照特定写法、规则编写的一个JavaBean对象

       

 

2.   面向对象分析设计思想

     在分析项目业务关系的时候,应用一些UML图,例如用例图、类图、时序图等,这样可以尽快找出业务逻辑主要面对的对象,然后对每个对象进行行为划分,最后再实现对象间的集成通信。

      客观存在并可相互区别的事物称之为实体。可以看成是Java类

      实体所具有的某一特性称之为属性。可以看成是Java类的成员变量。属性在数据库中又称为字段(或者是列)

3 .设计模式和框架结构

      如果要是设计一个良好的框架结构,就需要在Java项目实施过程,有一个设计模式,它决定着项目的应用、部署和实际开发设计。在普通的web项目中很多采用两层的开发结构,JSP+Servlet 或JSP+JavaBean。它能分有效的分离逻辑开发,使开发人员能专注于各自的开发,也可以使整个开发结构流程更清晰。

4. XML 语言

       在服务器和设计模式结构中会应用到自定义文件,而且在应用高级设计时会定义自用的标签,现在流行的是用XML去定义配置,简化了数据交换、进程间消息交换这一类的事情,XML的应用大致分为三类:1.间单数据的表示和交换    2.用户界面相关、表示相关的上下文     3.面向消息的计算

5 .网页脚本语言

       为了提高web项目的整体性能,提高人机交互的友好界面,网页的脚本语言就会起到一定作用。网页脚本语言的执行都是客户端执行的,速度很快,大多数操作与服务器无交互运算。

       JavaScript是一种基于对象和事件驱动并具有安全性能的脚本语言。使用它的目的是与HTML超文本标记语言、Java脚本语言一起实现在一个web页面中链接多个对象,与web客户交互作用。它通过嵌入或调入在标准的HTML语言中实现。它是在程序运行过程中逐行解释

6. 应用服务器

       在应用方面,web服务器主要是针对于配置和部署,对目录的配置,调试,对配置文件属性的修改;对访问权限和并发性的控制;java类的部署。

 

热门文章

暂无图片
编程学习 ·

Shell编程_echo/printf

目录一、Shell echo/printf 命令1、Shell显示命令-echo2、printf 命令操作常用的一些格式化字符二、test命令一、Shell echo/printf 命令Shell echo/printf 命令1、Shell显示命令-echo打印普通字符串[root@master ~]# echo "hello shell" hello shell创建和清空文件1…
暂无图片
编程学习 ·

Qt使用Unicode转义序列创建QString

(1)源文件保存为UTF-8,QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));#include "mainwidget.h" #include <QApplication> #include <QTextEdit> #include <QTextCodec>int main(int argc, char *argv[]) {QAppl…
暂无图片
编程学习 ·

Java-eclipse 设置字体字号大小,如何设置居中

文字一般都放在 标签内: 这里以 JLable 与 按钮 为实例: JLabel label; JButton exitBtn; //表题**标签** label = new JLabel("个人停车详情",JLabel.CENTER);//设置字体居中 label.setFont(new Font("微软雅黑", Font.BOLD, 20));//设置字体字号大小 l…
暂无图片
编程学习 ·

MIT 计算机操作环境导论Missing Semester Lesson 10 Q&A

最后一节课,我们回答学生提出的问题:学习操作系统相关内容的推荐,比如进程,虚拟内存,中断,内存管理等你会优先学习的工具有那些?使用 Python VS Bash脚本 VS 其他语言?source script.sh 和 ./script.sh 有什么区别?各种软件包和工具存储在哪里?引用过程是怎样的? /bi…
暂无图片
编程学习 ·

前端适配问题总结

前端适配问题总结视口布局的优点:宽度和高度全部自动适应!再加上rem布局的字体适应,可以完美解决各种屏幕适配问题!1.vw:1vw等于视口宽度的1%。2.vh:1vh等于视口高度的1%。3.vmin:选取vw和vh中最小的那个。4.vmax:选取vw和vh中最大的那个。vh and vw:相对于视口的高度…
暂无图片
编程学习 ·

【数据结构与算法】排序算法之冒泡排序(C++、Python)

原理介绍: 假设有长度为n的数组a,按照从小到大的顺序进行排序。冒泡排序的思路为:首先从数组的第一个元素开始,对数组中相邻的两个元素进行比较大小。如果左边(即索引数字小的)元素的值大于右边的元素,则交换这两个元素在数组中的位置,一直到最后一个元素为止。此时数组…
暂无图片
编程学习 ·

nginx 通过域名代理tcp端口

碰到一种场景,使用nginx进行反向代理tcp端口,网上大部门的设置都是一个端口代理一个端口,没有一个端口通过域名代理后端多个端口的情况。 在sf上面看到一个设置教程,记录下 只需要修改nginx.conf,添加如下配置即可, stream {map $ssl_preread_server_name $name {mysql.t…
暂无图片
编程学习 ·

jkd从1.8升级后报sun.misc相关错误

Idea解决找不到sun.misc.BASE64Encoder及sun.misc.BASE64Decoder找不到包 报错原因: JDK从1.8升级到9.0.1后sun.misc.BASE64Decoder和sun.misc.BASE64Encoder不可用 原因分析: ​ 参看官网,发现JDK中的lib\tools.jar和JRE中的lib\rt.jar已从Java SE 9中删除。这些JAR中可用的…
暂无图片
编程学习 ·

C 语言为什么不会过时?

01、为什么C语言不会过时 评价任何一门编程语言,都是招人骂的。永远是这样。就像是春寒料峭的季节,街上穿棉袄和穿单衣的擦肩而过,双方一定是同时在心里出现了两个字:“傻逼!”这个在心理学上有个专业的名字:叫做“二逼”现象! 那我为啥还要做这个挨骂的事呢?作为《C语…
暂无图片
编程学习 ·

javaScript案例

<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>电灯开关</title></head><body><img id="light" src="img/off.gif"><script>/*分析:1.获取图片对…
暂无图片
编程学习 ·

随笔 弹窗 二维码生成及图片下载

一、qrcode-vue模块该模块是用来动态生成二维码的vue模块插件,<qrcode-vue></qrcode-vue>的底层其实是一个<canvas></canvas>标签。要想使用qrcode.vue插件,需要用vue的脚手架安装这个插件安装指令npm install qrcode --save-dev,在这里我举一个例子…
暂无图片
编程学习 ·

TomCat学习笔记(1)--裸Tomcat框架实现和IDEA实现的比较

TomCat是什么不多说了,这里是用来记录我学习TomCat的操作与心路历程 本文对比演示用纯Tomcat和用IDEA集成开发同样的页面效果的两种方法。 在不用IDEA集成开发环境时稍微学习了一些tomcat,能写出一个界面并且用get、post函数试着传递数据。(在下文介绍一下流程并给予简单分析…
暂无图片
编程学习 ·

靶机实战(DC-4)

DC-4实验环实验过程信息收集主机发现端口扫描服务发现网站指纹漏洞发现漏洞利用提权总结 实验环 靶机:DC-4 测试机:kali(IP:192.168.186.128),win10 实验过程 信息收集 主机发现 netdiscover -I eth0 -r 192.168.186.0/24 nmap -sn 192.168.186.0/24 arp-scan -l ,arp-sc…
暂无图片
编程学习 ·

2. judgeSquareSum

忘记是自然选择,重要的是抽取学习方法双指针 --判断某一非负整数是否是两数平方和(easy) leecode输入:5 输出:true 5=1^2 + 2^2 思路:等于从一个有序数组找两个数平方和为target,注意的是最大值肯定小于Math.sqrt(target)public boolean judgeSquareSum(int c) {if (c < 0)…
暂无图片
编程学习 ·

ElasticSearch 索引设置总结

在使用ES时,我们常见的就是需要生成一个template来定义索引的设置,分词器,Mapping.本文将基于项目经验来总结一些常用的配置。Index设置index.refresh_interval 配置一个刷新时间,将index buffer刷新到os cache的时间间隔,刷新到os cache的数据才可以被索引到,默认是1s.如…
暂无图片
编程学习 ·

Leetcode 73 Set Matrix Zeroes

思路一: space complexity为O(m+n),虽然题目要求O(1),但是我一开始只能想到这个方法,所以还是实现了一下。Anyway, it’s not too bad。将复杂度控制在m+n是因为用了set。set里存放需要置0的行和列。思路很简单,直接展示代码: class Solution {public void setZeroes(int…
暂无图片
编程学习 ·

安卓使用tf模型

安卓上使用tensorflow模型 使用pb模型: 【人脸识别】Google的Facenet移植到安卓 https://www.52pojie.cn/thread-758292-1-1.html 将TensorFlow训练好的模型迁移到Android APP上 https://blog.csdn.net/u012328159/article/details/81101074 https://github.com/cayden/facesa…
暂无图片
编程学习 ·

大数据-java基础-第4章 while和do-while循环结构

1.循环的定义? 答: 循环就是在不停的干着同一件事情。 2.循环结构的特点? 答: 循环结构的特点是都存在循环条件和循环操作。 3.什么是while循环,while循环的特点是? 答: while循环为:while(循环条件){循环操作};当循环的条件为真是则执行循环操作,当条件为假时,结…