什么是java Web?

Java Web,是用Java技术来解决相关web互联网领域的技术栈。web包括:web服务端和webkehudua两部分。Java在客户端的应用有Java Applet,不过使用得很少,Java在服务器端的应用非常的丰富,比如Servlet,JSP、第三方框架等等。Java技术对Web领域的发展注入了强大的动力。

maven
    概念: 项目构建工具
    核心配置文件:prom.xml
        项目坐标:groupId、artifactid
        打包方式(packaging) :war \jar
        配置(properties) :配置字符集,jdk版本
        依赖(dependency) :项目中需要的其他公司编写好的java代码,可以通过坐标定位仓库所在位置
        构建(build):定义构建maven项目需要的插件
    maven命令
        clean: 清空仓库中已打包的项目
        install:对项目进行打包
    三个主要目录main
        java:主要存放java文件
        resources:主要存放项目配置文件
        webapp:页面(HTML)
            WEB-INF(该目录下的页面无法被浏览器直接访问)

Tomcat
    定义:web服务器,用于运行war包程序
    目录结构
        bin目录:存放系统可执行程序
            startup启动
            shutdown关闭
        conf目录:config缩写配置文件(server.xml)
        lib目录:library,存放tomcat所需要的jar包
        logs目录:存放日志文件
        webapps目录:存放war包目录

web项目依赖包
    maven仓库jar地址:
    mysql驱动包:用于java链接数据库
    lombok包:自动生成实体类包
        @Data自动生成get、set、toSting
        @AllArgsConstructor为实体类生成全参构造器
        @NoArgsConstructor为实体类生成无参构造器
    fastjson包:用于浏览器与控制层的传递
        将java类型转换位json类型:toJSONString()
    servlet-api包:浏览器与控制层链接
    dbutils包:封装jdbc代码
        QueryRunner 数据库操作类,需要传入数据源
            query()执行查询sql语句
            update()执行添加,修改,删除sql语句
        结果集处理类
            注意:实体类的属性要和数据库中的表字段要一致
            BeanHandler将查询的结果以java对象形式返回
            beanLIstHandler将查询的结果以List集合形式返回
            ScalarHandler将查询结果的第一个值返回 ,一般查询总条数时使用。
    druid包:数据库连接池包
        DBPool.java链接池类,包含了数据库链接信息

java包结构
    com开头:网络工程,org开头:开源项目
    controller(控制层)
    service(业务层)
        impl(业务层实现)
    dao(持久层)
        impl(持久层实现)
    pojo/entity/javabean(实体类包)
    util(工具包)

form表单
    属性
        action:提交地址,写入要提交到的Servlet的地址
        method:提交表单方式
            get提交:明文提交,表单内容会在浏览器中显示,默认的提交方式,一般谨慎使用
            post提交:密文提交,表单的内容不会在浏览器上显示,一般都是使用这种提交方式
        enctype="multipart/form-data"
            上传文件需要设置的属性

servlet
    HttpServlet 专门用于HTTP请求处理的servlet所以所有的控制层都应该继承该类与浏览器交互
        @WebServlet  value的值是访问该Servlet的地址
    doGet():用于处理get请求,比如超链接,直接在浏览器地址栏输入,一般默认都是get请求
    doPost():当设置请求为post,比如表单method=“post”,ajax的type:"post"
    HttpServletRequset:该类携带了浏览器的数据,通过该类获取浏览器传递过来的参数
    HttpServletResponse:相应,后台给浏览器返回数据
        resp.getWriter().writer()
    BaseServlet:自定义工具类,继承HttpServlet,用于整合doGet和doPost请求和其他公共代码
        统一的接收参数getParam()
        设置统一的字符集utf-8
    jsp
        浏览器无法直接解析,而是将java将jsp文件转成servlet,而是通过字符输出流输出给浏览器
        jsp出现的愿因:早期技术匮乏,前端页面与java结合出现的产物
        现在有了ajax,更方便的前后端交互的技术,jsp慢慢的被淘汰了。
    作用域
        pageContext:当前页面,基本不会使用
        request:请求;一次请求
        session:一次会话
            主要用于保存登录的用户信息
            HttpSession session = req.getSession();
            存储数据:session.setAttribute("login",user);
            拿取数据:getAttribute("login)
        application:全局

生命周期
    实例化:在项目启动时实例化
    初始化(init方法):在实例化之后进行初始化
    提供服务(service方法):HttpServlet将service方法分成了odGet和doPost两个方法
    销毁(destroy销毁):结束程序运行执行的方法

过滤器Filter
    概念:过滤请求,可以在进入servlet之前,可以做一些预处理或者进行拦截。
    @WebFilter("/")将自定义监听器
    通过web xml进行配置
    代码演示

监听器Listener
    概念:剋以对四大作用域进行监听,项目启动时会一直执行

地址匹配规则
    路径匹配,比如:/loginServlet
    全局匹配,/*
    缺省值 /,如果没有别的servlet匹配成功,则该servlet会执行。
    后缀名。*.do 或*.action

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐