JAVAEE之web的开发

  在前面我们已经学习了java基础部分,而Javase的程序只能在本地安装运行,不能实现远程访问,而我们需要进一步的学习JavaEE,javaEE可以把写好的程序部署到服务器上,用户可以通过浏览器远程访问服务器,接受请求中的数据,进行处理java,然后做出响应。

  web程序:就是网页+服务器(B/S架构)相当于浏览器加服务器,只需要有浏览器即可

程序开发的四个核心步骤

     1.搭建后端服务器

     2.前端向后端发送请求

     3.后端处理,向前端进行响应

     4.在前端动态显示数据

从javaEE开始,后端程序都是运行在服务器上,准备工作就是先要在电脑安装一个web服务器。

   服务器:从广义来讲就是软件加硬件,狭义上讲是一款程序。

一、安装tomcat服务器

 1.在网站进行下载并安装

 2.配置环境变量

  (1)新建一个系统的环境变量,命名为JAVA_HOME

  (2)变量值为jdk安装的路径

 3.进入到tomcat安装文件的bin目录,双击startup.bat启动

二、创建一个web后端项目,并将项目部署到tomcat中

1.打开idea,创建一个java项目

2.为项目添加web功能

3.在idea中继承tomcat进来,并将web后端项目部署到tomcat中,在web里面创建一个Html文件,然后点击工具栏中的ADD中进行配置

再点击Deployment中加号,点第一个,点击apply 然后ok配置成功

三、创建web后端程序

搭建servlet程序

1.创建一个包和类,类继承HttpServlet并且重写方法

2.在WEB-INF里面创建一个lib包,并将servlet-api.jar包复制到里面

3.web.xml文件,是web项目中的配置文件,里面配置servlet,过滤器等等,在服务器启动时,由tomcat加载读取里面的配置数据。

servlet里面的方法

1.第一次访问这个程序时,先调用无参构造方法,并且只调用一次

2.init方法在构造方法完成后,紧接着执行,用来初始化servlrt,只调用一次

3.service方法用来提供服务,每次访问都会执行

4.destory方法在服务器关闭时,进行调用

四、发送HTTP请求

浏览器连接到服务器后,向服务器发送的请求,称为http请求。一个http请求包含三个部分

1.请求行:请求的地址,http版本,状态码,都是由浏览器自动处理

2.请求头:客户端的一些信息,都是由浏览器自动处理

3.请求体:表单post方式提交的数据区域。

两种请求方式:get请求和post请求

get: 超链接请求,地址栏直接访问;从服务器端获取数据,向服务器端传输数据量小,因为地址栏有数据长度限制;并会在地址栏显示出来,。 网址后面加?加键值对的形式

如:?name=JIM&&age=20

post: 表单的method改为post;主要从前端向后端传输大量数据(可以上传文件),数据存放在请求体中,相对安全。

响应的格式设置:格式为html文本格式,编码为utf-8

resp.setContentType("text/html;charset=utf-8");

如果我们的servlet中没有重写service方法,会调用父类中的方法,在父类service方法的判断方式有:get-->doget,post-->dopost

HttpServletRequest :表示请求对象,服务器会将请求中的数据封装在此数据中,我们可以通过此对象获取请求中的所有数据

HttpServletResponse: 表示响应对象

响应

响应包括:响应行,响应头,响应体

相应行里包含了http协议版本以及用于描述服务器对请求的处理结果。

响应状态码:200:服务器响应成功

                     404:请求到了服务器,但是目标资源没有

                     500:服务器内部报错(java代码报错)

响应头:用于描述服务器的基本信息,以及数据描述

响应体:代表服务器向客户端浏览器会送的正文

五、过滤器

请求进入到servlet之前,可以配置哪些请求进入到指定的过滤器,完成一些公共的处理,实现一些特殊的功能。比如敏感词过滤,一个过滤器可以配置多个资源。一个资源也可以配置多个过滤器

1.创建一个类并且实现Filter接口,重写dofile方法

2.在web.xml里面配置过滤器

六、前端发送请求

表单向后端发送请求,属于同步请求

1. 同步请求:发送一个请求,给回一个回应,会用回应的内容覆盖掉浏览器当前内容。会打断前端其他的正常操作。 直接响应给浏览器不会出现跨域问题。

2.异步请求:不同步,前端正常输入时,可以同时与后端进行交互,后端响应的数据不会影响前端正常操作。但是前后端交互中出现跨域问题。使用ajax技术前端后交互,后端默认会进行组织,不让前端服务器接收其他协议,域名,端口有一个不相同就是属于跨域问题

跨域问题解决: 前端解决, 后端解决,在响应头中设置说明,告知浏览器,此次的响应是可靠的

七、后端如何向前端响应更多的数据

可以把数据封装在一个个对象中,然后把对象直接响应给前端

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值