JAVAEE 企业级

第一章 前言

1.1 JAVA的版本

JAVA版本 级别 适合开发
JAVASE(J2SE) 桌面级别 桌面开发
JAVAEE(J2EE) 企业级别 企业开发
JAVAME(J2ME) 微小版本 手机开发

1.2 软件的架构

目前主流的软件架构模式两种:C/S架构,B/S架构

架构 特点 优缺点
C/S(client server)客户端服务器架构 必须本地下载特点的软件,像QQ,微信,迅雷 1.图形界面3d效果比较好
2.服务器功能一旦升级,强制要求客户端系统更新
B/S(browser server)浏览器 服务器架构 无需下载客户端,只要有浏览器可直接访问 1.服务器功能升级,直接可以升级服务器端
2.图形效果,3d特效不适合,通过HTTP协议访问

1.3 浏览器服务架构图

在这里插入图片描述

1.4 服务器

1.4.1 什么是web?

万维网,网站。一般网站提供给客户资源:

静态资源:静态网页,不存在数据传输。如HTML,CSS,JS,数据不是动态获取。

动态资源:动态提取数据。JAVAEE中两个核心组件:Servlet,JSP。

1.4.2 什么是web服务器?

web服务器可以使得开发的web应用实现运行和发布,只有部署到服务器下的项目,可以实现从客户端获取到,客户端通过浏览器,基于HTTP协议实现访问。

web服务器为多个客户端提供服务。

1.4.3 常见的服务器

开源的:(开放源码,免费)

Tomcat:主流服务器(简单,适合初学者) jetty:淘宝,运行效率高一点 resin:新浪,开源服务器中,性能比较好的

收费的:(服务以及支持的功能强大,软件大,耗能大)

webLogic:Oracle
webSphere:IBM

Tomcat服务器:

在这里插入图片描述

免费开源项目,Apache软件基金会的akarta项目。目前最新10版本。

解压版(8.5版本),安装版

注意

1,不要解压到层级结构深的文件夹
2,不要解压到中文目录下

Tomcat文件目录结构:

文件目录 内容
bin 存放可以直接执行的二进制文件,启动服务器,关闭服务器的指令文件
conf 配置文件夹,有重要的配置文件,
server.xml 用来配置服务器的,服务器端口,编码。
web.xml用来做项目部署的配置
lib tomcat类库,存放Tomcat运行时所需jar包
logs 用来存放日志文件,记录tomcat的启动,关闭,访问,tomcat错误信息
temp tomcat的临时文件,这个目录在tomcat停止后删除掉
webapps 用来存放web应用,每个文件夹对应一个项目,项目部署到此文件夹
work 运行资源的时候,生成的文件,如:运行JSP时,生成的java和class文件

在这里插入图片描述

1.4.4 web项目

web项目结构:
在这里插入图片描述

文件目录 内容
javaweb01 web应用名字
src java源代码
web 客户端资源
WEB-INF web.xml:项目全局配置文件
lib 文件夹;存储jar包,如:数据库驱动文件
classes:存储后端编译文件(反射)
index.jsp 应用系统的首页面,默认情况访问的是页面

配置服务器:

Edit Configurations:

在这里插入图片描述

项目输出配置:

在这里插入图片描述
在这里插入图片描述

1.4.5 关于服务器的访问:

基于HTTP协议,请求(request)响应(response)模型

HTTP请求URL格式:

url : 协议名://ip地址:端口号/项目名/页面名.html?key=value&key=value#锚

例如:localhost:8080/hello.html

这里的localhost : 本地ip地址,可以使用127.0.0.1

8080 是tomcat的默认端口,可以更改,建议四位,80以上,防止被占用

在这里插入图片描述

request:请求

GET:明文的请求方式

POST:密文的请求方式

response:响应

200:响应成功
404:客户端问题,检查请求路径问题存在,服务器是否启动
500:服务器内部出错

第二章Servlet

2.1 Servlet的基本概念

JAVAEE中最核心的组件,Server Applet,服务器端的代码和功能,主要是完成客户端的接收,处理以及响应,基于请求 - 响应模型的组件

2.2 Servlet 作用

1.接收客户端发来的请求(注册,网页填写注册信息)

2.处理请求(增加到数据库当中)

3.响应(反馈给客户端)

2.3 Servlet 创建

创建servlet

在这里插入图片描述

//Servlet的访问路径
@WebServlet("/MyServlet")
public class MyServlet extends HttpServlet {
   
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
   

    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
   
        System.out.println("发出了get请求");
        System.out.println(request.getParameter("username"));
    }
}

通过客户端访问:
url: localhost:8080/MyServlet?username=yushuang

<body>
        欢迎学习javaee!!!这是idea 的项目配置,哈哈哈
        <form action="MyServlet">
            username: <input type="text" name="username">
            <input type="submit">
        </form>
  </body>

总结:

Servlet是一个类,是一个继承了HttpServlet 抽象父类的子类。

2.4 Servlet的配置

1.注解(web3.0版本,推荐使用)

@WebServlet("/MyServlet") //注解添加在Servlet的上方,省略value=
@WebServlet(value = "/MyServlet") //访问路径

注意:

1, url不可以重复的

2, url是客户端访问路径

3,Servlet可以设置多个路径

2.配置文件法web.xml中添加手动配置

	<!--  为servlet手动添加配置-->
        <!--servlet类路径-->
        <servlet>
            <servlet-name>MyServlet</servlet-name>
            <servlet-class>com.qf.web.MyServlet</servlet-class>
        </servlet>
        <!--客户端访问路径-->
        <servlet-mapping>
            <servlet-name>MyServlet</servlet-name>
            <url-pattern>/My</url-pattern>
        </servlet-mapping>

注意:

配置文件和注解可以同时使用,url不能重复

2.5 Servlet的访问方式

4种方式:

1.通过URL直接访问
2.通过超级链接访问Servlet
3.通过from表单访问(同步请求)
4.通过脚本访问
		location.href = " ";
		AJAX(重点,异步请求)
2.5.1 通过URL方式访问

程序员做测试使用,默认发送的GET请求。
后端在接收请求的时候,需要使用doGet()处理请求

http://localhost:8080/MyServlet?username=yushuang&pass=123456
2.5.2 通过超级链接方式访问

默认发送的是GET请求。

<a  href="MyServlet?username=yushuang&pass=123456">
    点击试试
</a>
2.5.3 通过表单方式访问

默认发送的是GET请求,但是可以通过method属性修改请求方式。

同步请求:

<form action="MyServlet" method="GET/POST"> 
	....
    <input type="submit">

</form>
2.5.4 通过脚本方式访问

1,同步请求,通过按钮触发事件,页面跳转的方式,跳转后台

<body>
       <button>
           点击试试
       </button>
</body>
<script src="js/jquery-3.6.0.js"></script>
<script>
        $('button').click(function () {
   
            location.href = "FormServlet?username=ys&pass=555";
        });

</script>

2,异步请求,通过ajax方式发出请求,设置请求类型:GET/POST

// getJSON()   get()  post()  ajax()

 //异步 不会发生页面跳转
 $(':button').click(function () {
   
       // $.get('FormServlet',{username:$('#username').val(),pass:$('#pass').val()},function () {
   
       //     //响应的时候
       // })

       $.ajax({
   
        "url":"FormServlet",
         "data":{
   username:$('#username').val(),pass:$('#pass').val()},
         "type":"get"
        })
})

2.6 Servlet的体系结构和生命周期

2.6.1Servlet的"家谱"

自定义的Servlet是一个类,继承抽象父类: HttpServlet

在这里插入图片描述

Servlet中的方法:

方法名 含义 参数
init() Servlet初始化方法,初始化Servlet时会被tomcat容器自动调用 有带参数
service() Servlet提供服务调用的方法,在每次被请求的时自动调用,判断请求的类型 request
response
destory() Servlet被销毁的时候,容器自动调用,需要清理垃圾,覆盖该方法 无参数
doGet() 处理get请求,自动调用 request
response
doPost() 处理post请求,自动调用 request
response
2.6.2Servlet的生命周期

从第一次请求Servlet > 容器创建对象(调用构造方法:1次) > 容器自动初始化 (调用init() 方法 1次) >调用服务方法 (service() n次)

service()方法请求类型GET POST DELETE > doGet() (n次) / doPost() (n次) > 容器关闭 (调用destroy() 1次 ,销毁Servlet对象)

在这里插入图片描述

代码:

package com.qf.web;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/LifeServlet")
public class LifeServlet extends HttpServlet {
   
    public LifeServlet(){
   
        System.out.println("servlet被创建了");
    }
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
   
       //判断
        System.out.println("service提供服务");
        if(req.getMethod().equals("GET"<
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值