关于java中URL的使用问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于java中URL的使用问题相关的知识,希望对你有一定的参考价值。
import java.net.URL;
import java.awt.*;
import javax.swing.*;
public class AppletTest extends JApplet
Class metaObject = this.getClass();
URL url = metaObject.getResource("image/1.jpg");
private JLabel jlb1 = new JLabel(new ImageIcon(url));
private JPanel jp1 = new JPanel(new BorderLayout());
public AppletTest()
jp1.add(jlb1,BorderLayout.NORTH);
add(jp1);
1.jpg放在MyEclipse 8.5\第33章 容器、布局管理器和边框\image 文件夹下。
使用new ImageIcon("image/1.jpg")在Frame中可以正常显示,在Applet中使用URL定位的时候就没法用了,是不是classpath配置的问题?求高手赐教。
首先,你的project中必须把image文件夹设为源码或资源目录(重要)
这样image本身就成了资源的根目录/
在IDE编译输出/打包时,1.jpg会和你的AppletTest.class放在同个文件夹中
所以,getResource("image/1.jpg");必须改成getResource("/1.jpg");
而要使getResource("image/1.jpg");起作用就可能要放在 image/image/1.jpg(首个image做资源目录)
另外,如果你不用IDE——手工编译class,就必须把1.jpg放在相对AppletTest.class所在目录下image/1.jpg下,这样才能getResource("/image/1.jpg")
总之,getResource()中的路径,由编译后的class文件的所在位置相对于资源文件的位置决定。而不由java源码决定。追问
一般使用ImageIcon("image/1.jpg") 不就是将1.jpg 放在image中么?image是和bin以及src在同一个目录中吧?它和使用URL定位时候有什么区别?
追答同前述
ImageIcon("image/1.jpg")时因为eclipse执行时(属于ide下特殊的执行情况)从项目根部目录开始搜索,所以能找到。比如new File("1.jpg"),程序在哪个目录执行,就会在那个目录上找1.jpg。eclipse默认在project目录作为当前目录。
而getResource("/image/1.jpg")是从class所在目录开始搜索资源,通常是project/bin/下面。所以不能找到。
和url没有关系。
使用Java和spring boot的URL参数
【中文标题】使用Java和spring boot的URL参数【英文标题】:Parameters from URL using Java and spring boot 【发布时间】:2018-10-07 09:14:29 【问题描述】:我正在使用 Java 和 Spring Boot,我需要通过 URL 获取信息并将其存储在我的 Java 类中。我的网址是这样的
localhost:8080/send?adress=example
我想将 URL 参数的值存储到 Java 中的变量中。
【问题讨论】:
有关于spring boot的教程涵盖了这些东西...... 【参考方案1】:我建议阅读有关 Spring Boot 和 Web 服务的教程,例如:
https://spring.io/guides/gs/rest-service/
RequestParam 注解用于将方法参数绑定到 Web 请求参数。例如
@RequestMapping(value="/send", method=RequestMethod.GET)
public String method(@RequestParam(value="address") String address)
...
【讨论】:
非常感谢,这正是我所需要的【参考方案2】:URL 不需要发送参数,通过请求参数发送即可。
一旦你在请求中添加了一个参数,在 spring-boot by @RequestParam
我们可以获取参数值。例如
@RequestMapping(value="/order/search", method=RequestMethod.GET)
public String method(@RequestParam(value="orderNumber") String orderNumber)
get Order by orderNumber...
【讨论】:
以上是关于关于java中URL的使用问题的主要内容,如果未能解决你的问题,请参考以下文章