首页 > 其他分享 >2022-08-29 第二小组 张鑫 学习笔记

2022-08-29 第二小组 张鑫 学习笔记

时间:2022-08-30 22:22:08浏览次数:62  
标签:web Tomcat 张鑫 08 29 点击 组件 服务器 login

实训五十一天 JavaWEB

学习内容

事件修饰符

用来和事件连用的,决定事件触发条件
或者阻止事件的触发机制

事件的冒泡
点击div里的按钮,div被点击的事件也会被触发

.stop修饰符用来阻止事件冒泡

.prevent:阻止标签的默认行为 

.once:只触发一次,之后会执行标签的默认行为

 对键盘按键进行修饰
 .enter
 .tab
 .delete
 .space
 .up
 .down
 .left
 .right
 
            ...

全局组件注册

<script>
            /*
                全局组件注册
                参数1:组件名称
                参数2:组件配置对象
                template:用来书写组件的html代码
                    (注意:template中必须有且只有一个容器)
            */
            Vue.component('login',{
                template:"<div><h1>用户登录</h1></div>",
            });

            const app = new Vue({
                
                el: "#app",
                data: {},
            });

            const container = new Vue({
                
                el: "#container",
                data: {},
            });


        </script>

定义局部组件

<script>
            // 定义一个局部组件
            let login = {
                template: "#loginTemplate",
                // props: ["name","age"]
                data() {
                    return {
                        name:"xiaoqiang",
                        lists:['java','c++','python']
                    }
                },
                props:['username'],
                methods: {
                    change() {
                        // alert(this.name);
                        this.$emit('aaa');
                    }
                },
            }

            const app = new Vue({
                
                el: "#app",
                data: {
                    username:"zhangsan",
                    age:23
                },
                methods: {
                    findAll() {
                        alert("Vue实例中定义的函数");
                    }
                },
                components:{
                    // 挂载组件
                    /*
                        第一个login:我的组件的名
                        第二个login:要挂载的组件名
                    */
                    login
                }
            });

        </script>

路由对象

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
    </head>
    <body>
        <div id="app">


            <!-- <a href="login">点我登录</a>
            <a href="register">点我注册</a> -->
            <router-link tag="button" to="/login?id=21">登录</router-link>
            <router-link tag="button" to="/register/21/zhangsan">注册</router-link>
            <!-- 需要在页面上展示视图 -->
            <router-view></router-view>

        </div>

        <script src="js/vue.js"></script>
        <script src="js/vue-router.js"></script>
        <script>
            /*
                1、router.js放在vue.js下面
                2、创建路由对象写在创建组件模板下面
            */
            let login = {
                template: '<h1>登录{{this.$route.query.id}}</h1>'
            }

            let register = {
                template: '<h1>注册</h1>',
                created() {
                    console.log(this.$route.params.id + "===>" + this.$route.params.name);
                }
            }

            // 创建路由对象
            const router = new VueRouter({
                // 定义路由规则
                routes: [
                    {path:'/',component:register},
                    {path:'/login',component:login},
                    // path:路由的路径
                    // component:路径对应的组件
                    {path:'/register/:id/:name',component:register},
                ],
            });

            const app = new Vue({
                
                el: "#app",
                data: {},
                // 在当前vue实例中挂载路由
                methods: {
                    
                },
                router:router,
            });

        </script>
    </body>
</html>

软件架构

1、C/S架构:客户端 / 服务器--------QQ,Typora,腾讯会议。

2、B/S架构:浏览器 / 服务器--------京东,爱奇艺,B站。

资源分类

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

常见的web服务器

概念

  1. 服务器:安装了服务器软件的计算机。
  2. 服务器软件:接收用户的请求,处理请求,给出响应。(接请求,给响应
  3. web服务器软件:接收用户的请求,处理请求,给出响应。

在web服务器软件中,可以部署web项目,让用户通过浏览器访问这些项目。

常见的服务器软件

动态服务器

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

静态服务器

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

Tomcat

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

Tomcat的启动

双击 bin/startup.bat文件

Tomcat的停止

双击 bin/shutdown.bat文件

访问

http://127.0.0.1:8080

IDEA整合tomcat

  1. 创建一个普通的Java工程
  2. 点击settings--->project structure
  3. 点击Moduls,点击+号,选择web,点击OK
  4. 点击idea运行处的Edit Configurations
  5. 点击左上角的+号,在列表中选择tomcat server,注意,不要选择TomEE Server
  6. 点击右侧的Configure,配置Tomcat的本地路径。路径到Tomcat根目录就可以
  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. Servlet就是一个普通的Java类而已。
  2. 处理请求,给出响应的类。

创建Sevlet

  1. 实现javax.servlet.Servlet接口
  2. 继承javax.servlet.GenericServlet
  3. 继承javax.servlet.http.HttpServlet

我们在开发中一般会使用第三种方法来创建Servlet。

Servlet生命周期

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

Servlet的配置

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>
        <servlet-name>hello</servlet-name>
        <servlet-class>com.jsoft.afternoon.HelloServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>hello</servlet-name>
        <url-pattern>/hello.do</url-pattern>
    </servlet-mapping>


</web-app>

注解

@WebServlet("/hello.do")

标签:web,Tomcat,张鑫,08,29,点击,组件,服务器,login
From: https://www.cnblogs.com/zxscj/p/16641084.html

相关文章

  • 2022-08-30 卢睿 学习心得
    目录1.Servlet生命周期初始化请求接受参数请求转发作用域响应面试题1.Servlet除了form表单之外都是get请求HttpServletRequest---req——请求所有请求的操作都用r......
  • JA学习 day06 ,day07 and day08
    day06预解析对象对象的遍历对象的常用方法预解析在代码执行前,对代码进行通读并解释预解析只会对以下两种方式进行极解析1定义变量varnum=100......
  • 2022-08-30 第二小组 张晟源(javaweb,request,response)
    JavaWebHttpServletRequest//请求  所有和请求相关的操作  当请求来的时候,request就被实例化HttpServletResponse//响应   所有和响应的操作  当请求来......
  • P2292 [HNOI2004] L 语言
    给出字典(个数为\(n\))和文章(个数为\(m\)),求文章最大匹配前缀。\(n\leq20,m\leq50\),\(|s|\leq20,|t|\leq2\times10^6\)首先想到用AC自动机,在每个字串结尾标记串......
  • CF808G Anthem of Berland
    给定\(s\)和\(t\),其中\(s\)中有\(k\)个?,求\(s\)补齐?后匹配\(t\)的最大次数。\(|s|\times|t|\leq10^7\)。先用一组数据\(HACK\)掉贪心做法:(贪心只......
  • JetBrains 里不为人知的秘密(17)---对比文件---最新(2022-08-30) 大飞
    JetBrains里不为人知的秘密(17)---对比文件---最新(2022-08-30)大飞比较项目文件在macOS上按 ⌘1(在Windows和Linux上按 Alt+1)打开 Project(项目)工具窗口,或者......
  • 220830-linux磁盘系统初识
    linux中,每一个设备都会被当做一个文件来看待。在linux中,所有的硬件设备文件都会在/dev这个目录下。而SATA接口的硬盘文件名称会被命名为/dev/sd[a-d]。分区的命名:Windows......
  • 20220830-hi3516交叉编译opencv4.6.0
    1. 下载opencv4.6.0并解压https://opencv.org/releases/unzipopencv-4.6.0.zipcdopencv-4.6.0 2. 安装基础工具sudoapt-getinstallbuild-essentialsudoapt......
  • 2022-08-29 期货沪金银铜的5分钟三卖,与日线状态息息相关
    沪银主连日线,可以难道已经是日线级别三卖,这与沪金,沪铜很不一样30分钟一开盘,是一个30分钟的三卖又形成5分钟大阴线向下,在下面盘整的时间和力度比沪金和沪铜都更长夜间开......
  • linux学习英语单词汇总 220830
      aptitude英[ˈæptɪtjuːd]美[ˈæptɪtuːd]n. 资质;天资;天赋;天生的才能;[例句]ResearchersusedACTscoresasameasureofintellectualaptitude.研......