2022-8-29-javaweb(1)

目录

一、基础知识

1、概念

2、软件架构

3、资源分类

二、常见的web服务器

1、概念

2、常见的服务器软件

(1)动态服务器

(2)静态服务器

三、 Tomcat

1、apache-tomcat文件中的内容及作用

2、测试Tomcat

(1)Tomcat的启动

(2)Tomcat的停止

(3)访问

3、***IDEA整合tomcat步骤***

​编辑

 四、Servlet

​编辑

1、任务

2、创建Sevlet

3、***Servlet生命周期***

4、Servlet的配置

(1)web.xml----注册servlet

(2)注解

5、最终结果---实现java前后端交互

(1)后端控制台结果

(2)前端结果显示

五、get和post的区别面试:


一、基础知识

1、概念

JavaWeb方面的知识在整个JavaEE方向的学习中起着承上启下的作用,在JavaWeb中将学习跟web开发相关的技术:html、css、javascript、tomcat、servlet、JSP、jdbc、mysql等等,在实际企业开发中,有些小项目会直接使用这些技术来完成,说的简单一些,其实JavaWeb的学习就是教大家如何做一个动态的网站

2、软件架构

(1)C/S架构:客户端/服务----QQ , Typora ,腾讯会议。
(2)B/S架构: 浏览器/服务器----京东,爱奇艺, B站。
 

3、资源分类

(1)静态资源:所有用户访问后,得到的结果都是一样的。( HTML. CSS,JS,图片,音频,视频..)
(2)动态资源:每个用户访问相同的资源,得到的结果可能不一样。动态资源被访问后,需要先转换为静态资源,再返回给浏览器,通过浏览器来进行解析。
 

二、常见的web服务器

1、概念

(1)服务器:安装了服务器软件的计算机。
(2)服务器软件:接收用户的请求,处理请求,给出响应。【 接请求,给响应】
(3)web服务器软件:接收用户的请求,处理请求,给出响应。在web服务器软件中,可以部署web项目,让用户通过浏览器访问这些项目。】
 

2、常见的服务器软件

(1)动态服务器

●webLogic : oracle公司出品,大型的web服务器,几乎支持了所有的avaEE规范,收费的。
●webSphere : IBM公司,大型的web服务器,几乎支持了所有的avaEE规范,收费的。
●JBOSS : JBOSS公司,中型的JavaEE服务器,几乎支持了所有的JavaEE规范,收费的。
Tomcat : Apache基金会,中小型的web服务器,支持了少量的JavaEE规范,开源免费。

(2)静态服务器

●Nginx(代理,反向代理,动静分.离.. )极高的并发
●Apache
 

三、 Tomcat

下载apache-tomcat文件,可去官网下载。

1、apache-tomcat文件中的内容及作用

bin存放一些批处理脚本文件,可执行文件。
conf用来存放tomcat的相关配置文件。
libTomcat依赖的jar包。
logs存放日志。
temp临时文件目录。
webappsTomcat默认的Web应用部署目录。
workWeb应用JSP代码生成和遍历的临时目录。

2、测试Tomcat

相关知识点链接:测试Tomcat

(1)Tomcat的启动

双击bin/startup. bat文件

(2)Tomcat的停止

双击bin/shutdown. bat文件

(3)访问

http://127.0.0.1:8080或者localhost:8080

3、***IDEA整合tomcat步骤***

(1)创建一个普通的Java工程

(2)点击settings--->project structure

(3)点击Moduls,点击+号,选择web,点击OK

 创建web还有一种方法

(4)点击idea运行处的Edit Configurations

(5)再点击左上角的+号,在列表中选择tomcat server下的,注意,不要选择TomEE Server

(6)点击右侧的Configure,配置Tomcat的本地路径。路径到Tomcat根目录就可以。点击ok。

(7)点击settings--->project structure【和②步骤一样】

(8)点击Artifacts,点击+号,选择web Application Exploded:From

(9)修改output directory为tomcat下的webapps,点击OK

(10)点击idea运行处的Edit Configurations,点击Deployment选项卡,点击+号,选择Artifact,自动添加了。

(11)回到Server选项卡,可以修改端口号以及服务器的两个配置改为update classes and resources。

(12)在web目录下新建HTML文件,点击启动服务器,通过http://localhost:8888/JavaWEB20220829/index.html地址来访问自己的项目。

 四、Servlet

1、任务

(1)Servlet就是一个普通的Java类而已。
(2)处理请求,给出响应的类。

2、创建Sevlet

(1)实现javax. servlet . Servlet接口
(2)继承javax. servlet . GenericServlet类
(3)继承javax. servlet .http . HttpServlet类
我们在开发中一般会使用第三种方法来创建Servlet.

我们需要导包,去Tomcat中找到lib,复制servlet-api.jar。

然后在WEB-INF中创建文件夹lib,将servlet-api.jar粘贴到lib中

 

 记得把lib中的库添加上。

之后我们就可以继承类了,继承之后。HttpServlet方法父类中已经给我们准备好了,我们就进行方法重写就可以。

package com.jsoft.morning.servlet;

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;

@WebServlet()
public class HelloServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
       //处理get请求
        System.out.println("doget方法");
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("topost方法");
    }
}

3、***Servlet生命周期***

(1)初始化---init方法。
(2)实例化---构造器。
(3)调用service方法,处理请求。
(4)销毁--destory方法。

4、Servlet的配置----注册servlet

注册servlet的两种方式,不能同时用,会出错。现在大部分都是用注解的方法。

(1)web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
    <servlet>
        <servlet-name>hello</servlet-name>
        <servlet-class>com.jsoft.morning.servlet.HelloServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>hello</servlet-name>
        <url-pattern>/hello.do</url-pattern>
    </servlet-mapping>
</web-app>

(2)注解

在servlet文件中加个注解

package com.jsoft.morning.servlet;

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;

@WebServlet("/hello.do")//注解
public class HelloServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
       //处理get请求
        System.out.println("doget方法");
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("topost方法");
    }
}

5、最终结果---实现java前后端交互

前端html文件内容:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<a href="hello.do">get请求</a>
<h1>太难了……</h1>

</body>
</html>

(1)后端控制台结果

(2)前端结果显示

五、get和post的区别面试:

1、url可见性:
get,参数url可见;
post,url参数不可见
2、数据传输上:
get,通过拼接url进行传递参数;
post,通过body体传输参数
3、缓存性:
get请求是可以缓存的
post请求不可以缓存
4、后退页面的反应
get请求页面后退时,不产生影响
post请求页面后退时,会重新提交请求
5、传输数据的大小
get一般传输数据大小不超过2k-4k(根据浏览器不同,限制不一样,但相差不大)
post请求传输数据的大小根据php.ini 配置文件设定,也可以无限大。
6、安全性
这个也是最不好分析的,原则上post肯定要比get安全,毕竟传输参数时url不可见,但也挡不住部分人闲的没事在那抓包玩。安全性个人觉得是没多大区别的,防君子不防小人就是这个道理。对传递的参数进行加密,其实都一样
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值