ServletContext应用

Alt+Enter 自动补全类

getParameter 获取参数

在web.xml中配置 设置intParemeter 初始化参数

    <!--配置web应用的初始化参数-->
    <context-param>
        <param-name>url</param-name>
        <param-value>jdbc:mysql:3306/mybatis</param-value>
    </context-param>

在这里插入图片描述
获取参数url

请求转发 Request Dispatcher

bug解决
在这里插入图片描述
传参过程中的url地址没有加/
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
网址url还是sd4 但是显示的内容还是gp
通过ServletContext 这个信息调度中心 从ServletDemo04跳转到ServletDemo03 输出了parameter
在这里插入图片描述

读取资源文件

思路:需要一个文件流
Properties
在这里插入图片描述
在这里插入图片描述
在Servlet下创建aa.properties 部署运行后 target下同样的位置没有aa.properties
解决办法:在当前项目pom.xml 写入build

<!--在build中配置resources,来防止我们资源导出失败的问题-->
  <build>
    <resources>
      <resource>
        <directory>src/main/resources</directory>
        <includes>
          <include>**/*.properties</include>
          <include>**/*.xml</include>
        </includes>
        <filtering>true</filtering>
      </resource>
      
      <resource>
        <directory>src/main/java</directory>
        <includes>
            <include>**/*.properties</include>
            <include>**/*.xml</include>
          </includes>
        <filtering>true</filtering>
      </resource>
    </resources>
  </build>
  • 在java目录下新建properties
  • 在resources目录下新建properties
    发现:都被打包到了同一个路径 classes 我们俗称这个路径为类路径
    在这里插入图片描述

在这里插入图片描述
在这里提及一下properties.load的用法
load(InputStream instream) 从输入流中读取属性列表(键和元素对)

load(Reader reader) 按简单的面向行的格式从输入字符流中读取属性列表(键和元素对)

load方法是加载输入流,“只有”加载输入流之后,“才”可以用一些读取该properties文件的方法

请注意这里的:“只有”,“才”

例如:

public static void function4() throws IOException{
    
     
    Properties p=new Properties(); 
    FileReader fr=new FileReader("f:\\110.properties"); 
    String str=p.getProperty("98K"); 
    p.load(fr); 
    fr.close(); 
    System.out.println(str); 
}

代码并不会报错,但就是不能读取到文件中存在的键值对,而是返回null;

正解:必须先加载输入流,才能读取(4,5行交换)

该处错误极难发现。
在用类创建变量名的时候 习惯性将类名缩写 作为变量的名字

猜你喜欢

转载自blog.csdn.net/dasgs5a64/article/details/120803320
今日推荐