• javaWeb学习笔记


    一、          web.xml

    --------------------------------------------------------------------------------------------------------------------------

    启动一个web项目时,web容器会读取配置文件web.xml

    index.jsp是默认优先访问的。

    <welcome-file-list>
            <welcome-file>xxx.jsp</welcome-file>
        </welcome-file-list>

    添加以上配置信息可以修改首页显示。

    注:需要严格按照标签排列顺序进行添加

    --------------------------------------------------------------------------------------------------------------------------

    Tomcat启动时就执行的servlet配置。

    在对应的<servlet>标签下添加以下配置信息。

    (这个servlet就不需要重新配置mapping)。

    <load-on-startup>1</load-on-startup>

    启动tomcat时按照加载等级初始化servlet,数字越大加载顺序越靠后。

    这样在tomcat启动时会调用servlet的init方法。可以在init方法中初始化公用资源信息等等 。

    ServletConfig对象

    servlet config对象可以使用一个或多个<init-param>标签为servlet配置一些初始化参数,servlet配置了初始化参数后,web容器在创建servlet实例对象时,会自动将这些初始化参数封装到ServletConfig对象中,并在调用servlet的init方法时,将ServletConfig对象传递给servlet。进而,程序员通过ServletConfig对象就可以得到当前servlet的初始化参数信息。

    WEB容器在启动时,它会为每个WEB应用程序都创建一个对应的ServletContext对象,它代表当前web应用。

    ServletConfig对象中维护了ServletContext对象的引用,开发人员在编写servlet时,可以通过ServletConfig.getServletContext方法获得ServletContext对象。

     

    二、          JSP路径问题

    --------------------------------------------------------------------------------------------------------------------------

    JSP文件是否有必要放在WEB-INF

    放到WEB-INF下的JSP文件,如果你直接去访问这个JSP是不可以的,必须通过Action的跳转。

    对于用户,一些是可以直接访问的,如登录、注册页面。根据系统的需求,可以直接放在webroot下。

    现在的mvc模式,JSP而仅仅充当view层的模板,必须要填入model数据后进行渲染,才能生成可读的页面,这样的模板是不能让用户直接访问的。直接访问的话要么是一堆各种空白,或者一堆占位符,甚至一堆NullPointException。

    “安全性问题”指的是“不允许你访问,否则会对我不好”。这里的情况是“不建议你访问,否则会对你不好”,属于健壮性的范畴。

    三、         JDBC连接数据库

    --------------------------------------------------------------------------------------------------------------------------

    1、  加载JDBC驱动程序

    连接数据库前,加载数据库驱动到JVM,Class.forName(“com.mysql.jdbc.Driver”);

    2、  创建数据库连接

    Connection con = DriverManager.getConnection(url, username, password);

    3、  创建Statament

    l  静态SQL语句:Statament实例

    l  动态SQL语句:PreparedStatement实例

    l  数据库存储过程:CallableStatement实例

     

    Statement stmt = con.createStatement();

    PreparedStatement pstmt = con.prepareStatement(sql);

    CallableStatement cstmt = con.prepareCall("{CALL demoSp(? , ?)}");

    4、  执行SQL语句

    l  ResultSet executeQuery(String sqlString):执行查询数据库的SQL语句,返回一个结果集(ResultSet)对象。  

    l  int executeUpdate(String sqlString):用于执行INSERT、UPDATE或DELETE语句以及SQL DDL语句,如:CREATE TABLE和DROP TABLE等  

    l  execute(sqlString):用于执行返回多个结果集、多个更新计数或二者组合的语句。

    5、  关闭JDBC对象

    l  关闭记录集

    l  关闭声明

    l  关闭连接对象

  • 相关阅读:
    kali渗透综合靶机(十七)--HackInOS靶机
    kali渗透综合靶机(十六)--evilscience靶机
    kali渗透综合靶机(十五)--Breach-1.0靶机
    kali渗透综合靶机(十四)--g0rmint靶机
    DVWA-文件上传学习笔记
    kali渗透综合靶机(十三)--Dina 1.0靶机
    Weblogic-SSRF漏洞复现
    kali渗透综合靶机(十二)--SickOs1.2靶机
    IIS_CVE-2015-1635-HTTP.SYS远程执行代码漏洞复现
    【Flask+Redis】 python学习第一章
  • 原文地址:https://www.cnblogs.com/dreamerjdw/p/5851395.html
Copyright © 2020-2023  润新知