0%

32安全开发-JavaEE应用

思维导图

22安全开发

知识点:

  • 27、JavaEE-HTTP-Servlet技术
  • 28、JavaEE-数据库-JDBC&Mybatis

章节点

  • 1、PHP:
    功能:新闻列表,会员中心,资源下载,留言版,后台模块,模版引用,框架开发等
    技术:输入输出,超全局变量,数据库操作,逻辑架构,包含上传&下载删除;
    技术:JS&CSS混用,Cookie,Session操作,MVC架构,ThinkPHP引用等。
    安全:原生PHP开发安全,模版引用安全,第三方插件安全,TP框架安全等
  • 2、JS:
    功能:登录验证,文件操作,SQL操作,云应用接入,框架开发,打包器使用等
    技术:原生开发,DOM,常见库使用,框架开发(Vue,NodeJS),打包器(Webpack)等
    安全:原生开发安全,NodeJS安全,Vue安全,打包器Webpack安全,三方库安全问题等
  • 3、Java:
    功能:数据库操作,文件操作,序列化数据,身份验证,框架开发,第三方库使用等.
    框架库:MyBatis,SpringMVC,SpringBoot,Shiro,Log4j,FastJson等
    技术:Servlet,Listen,Filter,Interceptor,JWT,AOP,待补充
    安全:SQL注入,RCE执行,反序列化,脆弱验证,未授权访问,待补充
    安全:原生开发安全,第三方框架安全,第三方库安全等,待补充

JavaEE-HTTP-Servlet&路由&周期

参考:https://blog.csdn.net/qq_52173163/article/details/121110753

  • 1、解释
            Servlet是运行在Web服务器或应用服务器上的程序,它是作为来自Web浏览器或其他HTTP客户端的请求和HTTP服务器上的数据库或应用程序之间的中间层。使用Servlet可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页。本章内容详细讲解了web开发的相关内容以及servlet相关内容的配置使用,是JAVAEE开发的重中之重。

  • 2、创建和使用Servlet
    -创建一个类继承HttpServlet
    -web.xml配置Servlet路由
    -WebServlet配置Servlet路由
    -写入内置方法(init service destroy doget dopost)

  • 3、Servlet生命周期
    见图

  • 4、处理接受和回显

    1
    2
    3
    4
    5
    6
    7
    8
    9
    HttpServletRequest       — ServletRequest的子接口  
    getParameter(name) — String 通过name获得值
    getParameterValues — String[ ] 通过name获得多值

    HttpServletResponse — ServletResponse的子接口
    setCharacterEncoding() — 设置编码格式
    setContentType() — 设置解析语言
    getWriter() — 获得一个PrintWriter字符输出流输出数据
    PrintWriter — 接受符合类型数据

JavaEE-数据库-JDBC&Mybatis&库

(java和数据库连接,三种方式,自带官方库jdbc、第三方 hibernate和mybatis)

  • 原生态数据库开发:JDBC
    参考:https://www.jianshu.com/p/ed1a59750127
            JDBC(Java Database connectivity): 由java提供,用于访问数据库的统一API接口规范.数据库驱动: 由各个数据库厂商提供,用于访问数据库的jar包(JDBC的具体实现),遵循JDBC接口,以便java程序员使用!

  • 1、下载jar
    https://mvnrepository.com/

  • 2、引用封装jar
    创建lib目录,复制导入后,添加为库

  • 3、注册数据库驱动

    1
    Class.forName("com.mysql.jdbc.Driver");  
  • 4、建立数据库连接

    1
    2
    String url ="jdbc:mysql://localhost:3306/demo01";
    Connection connection=DriverManager.getConnection(url,"x","x");
  • 5、创建Statement执行SQL

    1
    2
    Statement statement= connection.createStatement();
    ResultSet resultSet = statement.executeQuery(sql);
  • 6、结果ResultSet进行提取

    1
    2
    3
    4
    5
    while (resultSet.next()){
    int id = resultSet.getInt("id");
    String page_title = resultSet.getString("page_title");
    .......
    }
  • 7、安全修复SQL注入:预编译
    原理:提前编译好执行逻辑,你注入的语句不会改变原有逻辑!

  • 8、框架数据库开发:Mybatis
            Mybatis是一款优秀的持久层框架,避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集的过程,减少了代码的冗余,减少程序员的操作。

欢迎关注我的其它发布渠道

-------------本文结束感谢您的阅读-------------