Procházet zdrojové kódy

完善了云平台安装文档
完善了javaweb文档到Filter

seamew před 3 roky
rodič
revize
f7291fbd3b

+ 1 - 1
linux/linux防火墙.md

@@ -57,7 +57,7 @@ firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192
 firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.233" accept"
 
 # 针对一个ip段访问
-firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.0/16" accept"
+firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="10.168.58.0/28" port  protocol="tcp" port="2181" accept"
 firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="9200" accept"
 
 # 删除某个IP

+ 241 - 0
后端/JavaWeb/JavaWeb.md

@@ -289,6 +289,7 @@ webn服务器接收到客户端的http请求,针对请求,分别创建一个
 // 需要设置改项目的路径
 resp.setHeader("Location", "/r/image");
 resp.setStatus(HttpServletResponse.SC_FOUND);
+resp.sendRedirect("/r/image");
 ```
 重定向和转发区别?
 相同点:
@@ -432,3 +433,243 @@ java server pages:java服务器端界面,也和servlet一样,用于动态w
 
 * 原理图
 ![image-20211114185115260](assets/image-20211114185115260.png)
+
+### 6.3、JSP基本语法
+
+任何语言都有自己的语法,JPS作为java的一种应用,它拥有自己的扩充语法(了解即可),并且支持所有的java语法
+
+1. JSP表达式
+
+```jsp
+<%--JSP表达式
+    作用:用来将程序的输出到客户端
+    <%= 变量或者表达式%>
+--%>
+<%= new java.util.Date()%>
+```
+
+2. JSP脚本片段
+
+```jsp
+  <%
+    int sum = 0;
+    for (int i = 0; i < 100; i++) {
+      sum += i;
+    }
+    out.println("<h1>Sum=" + sum + "</h1>");
+  %>
+  <%--JSP脚本片段--%>
+  <%
+    int sum = 0;
+    for (int i = 0; i < 100; i++) {
+      sum += i;
+    }
+    out.println("<h1>Sum=" + sum + "</h1>");
+  %>
+
+  <%
+    for (int i = 0; i < 5; i++) {
+  %>
+    <h1>Hello,World <%=i%></h1>
+  <%
+    }
+  %>
+```
+
+3. jsp声明:会被编译到JSP生产JAVA类中!其他的,就会被生产到_jspservice方法中!
+
+```jsp
+  <%!
+    static {
+      System.out.println("Loading Servlet!");
+    }
+    private int g = 0;
+    public void test() {
+      System.out.println("in test method");
+    }
+  %>
+```
+
+4. jsp的注释无法显示在html中
+
+### 6.4、JSP指令
+
+```jsp
+<%@page%>
+<%--g--%>
+
+<%@include file=""%>
+这个与上面的区别:下面的本质还是三个页面而上面是三个部分拼接成一个
+jsp:include page="index.jsp"/
+```
+
+### 6.5、9大内置对象
+
+* Pagecontext	存东西
+* Request	存东西
+* Response
+* Session	存东西
+* Application	存东西
+* Config
+* out
+* page
+* Exception 
+
+```java
+// 保存的数据只在一个页面有效
+pageContext.setAttribute("name1", "1");
+// 保存的数据只在一次请求中有效,请求转发(重定向无效)会携带这个数据
+request.setAttribute("name2", "2");
+// 保存的数据只在一次会话有效
+session.setAttribute("name3", "3");
+// 保存的数据只在服务器中有效,从打开服务器到关闭服务器
+application.setAttribute("name4","4");
+```
+
+### 6.6、JSP标签、JSTL标签、EL表达式
+
+```jsp
+        <!--JSTL表达式依赖-->
+        <dependency>
+            <groupId>javax.servlet.jsp.jstl</groupId>
+            <artifactId>jstl-api</artifactId>
+            <version>1.2</version>
+        </dependency>
+        <!--standard标签库-->
+        <dependency>
+            <groupId>taglibs</groupId>
+            <artifactId>standard</artifactId>
+            <version>1.1.2</version>
+        </dependency>
+```
+EL表达式:${}
+* 获取数据
+* 执行运算
+* 获取web开发的常用对象
+
+JSP标签
+```jsp
+<jsp:include page="index.jsp"/>
+<%--转发--%>
+<jsp:forward page="/jsptag2.jsp">
+    <jsp:param name="a" value="a"/>
+    <jsp:param name="b" value="b"/>
+</jsp:forward>
+```
+
+JSTL标签
+
+JSTL标签库的使用就是为了弥补HTML标签的不足;他自定义许多标签,可以供我们使用,标签的功能和java代码一样!
+* 核心标签(要求掌握部分)
+![image-20211116155018740](assets/image-20211116155018740.png)
+* 格式化标签
+* SQL 标签
+* XML 标签
+* 
+```jsp
+<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
+<c:if test="${param.username == 'admin'}" var="isAdmin">
+    <c:out value="welcome"/>
+</c:if>
+
+<c:out value="${isAdmin}"/>
+```
+
+## 7、JavaBean
+
+***
+
+实体类
+JavaBean有特点的写法:
+* 必须定义无参构造
+* 属性必须私有化
+* 必须有对应的get/set方法
+
+一般用来和数据库字段做映射ORM;
+ORM:对象关系映射
+
+* 表->类
+* 字段->属性
+* 行记录->对象
+
+People表
+| id   | name | age  | address |
+| ---- | ---- | ---- | ------- |
+| 1    | tom  | 10   | 西安    |
+| 2    | lin  | 19   | 西安    |
+| 3    | pet  | 13   | 西安    |
+
+```java
+public class People {
+    private int id;
+    private String name;
+    private int age;
+    private String address;
+}
+```
+
+```jsp
+<jsp:useBean id="people" class="com.entity.People" scope="page"/>
+
+<jsp:setProperty name="people" property="address" value="西安"/>
+<jsp:setProperty name="people" property="id" value="1"/>
+<jsp:setProperty name="people" property="age" value="3"/>
+<jsp:setProperty name="people" property="name" value="tom"/>
+
+<jsp:getProperty name="people" property="address"/>
+<jsp:getProperty name="people" property="id"/>
+<jsp:getProperty name="people" property="age"/>
+<jsp:getProperty name="people" property="name"/>
+```
+
+## 8、MVC三次架构
+
+***
+
+什么是MVC:model view controller 模型、 视图、 控制器
+
+### 8.1、早些年
+
+![image-20211116171819380](assets/image-20211116171819380.png)
+用户直接访问控制层,控制层直接操作数据库;
+```
+servlet--CRUD--->数据库
+弊端:程序十分臃肿,不利于维护  
+servlet的代码中:处理请求、响应、视图跳转、处理JDBC、处理业务代码、处理逻辑代码
+```
+
+### 8.2、MVC三层架构
+
+![image-20211116172558256](assets/image-20211116172558256.png)
+
+Model
+* 业务处理:业务逻辑(Service)
+* 数据持久层:CRUD(Dao)
+
+View
+* 展示数据
+* 提供链接发起Servlet请求(a,form, img)
+
+Controller(Servlet)
+* 接受用户的请求:req,参数和session信息
+* 交给业务层处理响应的代码
+* 控制视图的跳转
+
+```
+登录----》接受用户的请求---》处理用户的请求(获取参数:username,password)----》交给业务层处理登录业务(判断用户名密码是否正确:事务)-----》Dao层查询用户名和密码是否正确----》数据库
+```
+
+## 9、Filter
+
+***
+
+Filter:过滤器,用来过滤网站的数据;
+* 处理中文乱码
+* 登录验证
+![image-20211116174340271](assets/image-20211116174340271.png)
+
+Filter开发步骤:
+1. 
+
+
+

binární
后端/JavaWeb/assets/image-20211116155018740.png


binární
后端/JavaWeb/assets/image-20211116171819380.png


binární
后端/JavaWeb/assets/image-20211116172558256.png


binární
后端/JavaWeb/assets/image-20211116174340271.png


binární
大数据/云平台安装文档/assets/image-20211115213927460.png


binární
大数据/云平台安装文档/assets/image-20211115214619362.png


binární
大数据/云平台安装文档/assets/image-20211115214723424.png


binární
大数据/云平台安装文档/assets/image-20211115214817599.png


binární
大数据/云平台安装文档/assets/image-20211115214846424.png


binární
大数据/云平台安装文档/assets/image-20211115214912342.png


binární
大数据/云平台安装文档/assets/image-20211115214937388.png


+ 32 - 10
大数据/云平台安装文档/安装云平台环境.md

@@ -67,7 +67,7 @@ reboot
 三台服务器,开始下一步的安装
 
 
-# 2.离线安装Docker及其相应组件(三台虚拟机都需要安装)
+# 2.离线安装Docker及其相应组件(三台服务机都需要安装)
 
 ## 2.1离线安装Docker
 
@@ -95,7 +95,7 @@ docker --version
 
 ## 2.2离线安装Docker-compose
 
-将安装包目录下的docker-compose-linux-x86_64文件上传到虚拟机的```/opt/package```目录下使用命令
+将安装包目录下的docker-compose-linux-x86_64文件上传到服务机的```/opt/package```目录下使用命令
 ```
 // 1.将下载好的文件传入linux系统中,并重命名未docker-compose
 mv docker-compose-linux-x86_64 docker-compose
@@ -109,7 +109,7 @@ docker-compose --version
 输出docker-compose版本号表示安装成功
 ![image-20211108154405864](assets/image-20211108154405864.png)
 
-# 3.安装Harbor及相应的配置(只需要一台虚拟机安装)
+# 3.安装Harbor及相应的配置(只需要一台服务机安装)
 
 ## 3.1安装Harbor
 1. 将压缩包harbor-offline-installer-v2.3.2.tgz上传到
@@ -171,9 +171,9 @@ log:
 
 ![image-20211110154335629](assets/image-20211110154335629.png)
 
-## 3.2配置Docker访问Harbor(三台虚拟机都要配置)
+## 3.2配置Docker访问Harbor(三台服务机都要配置)
 
-首先修改虚拟机的hosts
+首先修改服务机的hosts
 ```
 # 将下面的ip缓存harbor的ip
 echo "10.168.59.60  server.harbor.com">> /etc/hosts
@@ -201,13 +201,13 @@ docker login server.harbor.com:80
 ![image-20211110155332792](assets/image-20211110155332792.png)
 至此,harbor配置完成
 
-# 4.K8S 离线安装及NFS配置(三台虚拟机都需要安装)
+# 4.K8S 离线安装及NFS配置(三台服务机都需要安装) 
 
 
 ## 4.1 上传kube1.9.0.tar.gz(以下简称kube1.9)到服务器
 
 ```
-# 1.三台虚拟机创建目录
+# 1.三台服务机创建目录
 mkdir -p /opt/package/k8s
 # 2.上传文件到指定目录
 scp -r kube1.9.0.tar.gz root@192.168.238.20:/opt/package/k8s
@@ -356,7 +356,7 @@ kubectl get nodes
    # 输出结果如下所示
    /nfs/data * 
    ```
-3. 安装NFS客户端(三台虚拟机操作)
+3. 安装NFS客户端(三台服务机操作)
 ```shell
 # 进入node1,node2节点内/opt/package/nfs文件夹内执行以下命令
 cd /opt/package/nfs
@@ -440,7 +440,7 @@ managed-nfs-storage (default)   fuseim.pri/ifs   Delete          Immediate
 
 ## 5.1将离线包上传至harbor仓库(该操作只需在master节点进行)
 
-将安装包目录下的kubesphere文件夹上传至虚拟机master节点的
+将安装包目录下的kubesphere文件夹上传至服务机master节点的
 ```
 /opt/package/
 ```
@@ -452,7 +452,7 @@ managed-nfs-storage (default)   fuseim.pri/ifs   Delete          Immediate
 ![image-20211111101212415](assets/image-20211111101212415.png)
 
 ```
-# 在虚拟机master节点中执行命令
+# 在服务机master节点中执行命令
 
 # 进入该路径
 cd /opt/package/kubesphere/
@@ -531,6 +531,28 @@ kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l app=
 ![image-20211111102817757](assets/image-20211111102817757.png)
 ![image-20211111102801129](assets/image-20211111102801129.png)
 
+## 5.5开放30881端口(重要--master节点操作)
+
+```shell
+kubectl -n kubesphere-system patch svc ks-apiserver -p '{"spec":{"type":"NodePort","ports":[{"port":80,"protocal":"TCP","targetPort":9090,"nodePort":30881}]}}'
+```
+
+![image-20211115213927460](assets/image-20211115213927460.png)
+
+## 5.6创建云平台的企业空间
+
+1. 登录kubesphere,输入http://10.168.59.60:30880/,端口号默认为30880,第一次进入需要修改初始密码
+![image-20211115214619362](assets/image-20211115214619362.png)
+2. 进入企业空间,创建新的企业空间为mkcloud
+![image-20211115214723424](assets/image-20211115214723424.png)
+3. 进入企业空间mkcloud,创建项目mkcloud
+![image-20211115214817599](assets/image-20211115214817599.png)
+4. 进入项目选择默认设置即可
+![image-20211115214846424](assets/image-20211115214846424.png)
+![image-20211115214912342](assets/image-20211115214912342.png)
+![image-20211115214937388](assets/image-20211115214937388.png)
+
+
 # 附录----安装软件的版本
 
 | 软件           | 版本    |