相关疑难解决方法(0)

<meta charset ="utf-8"> vs <meta http-equiv ="Content-Type">

为了定义HTML5 Doctype的字符集,我应该使用哪种符号?

  1. 短:

    <meta charset="utf-8" /> 
    
    Run Code Online (Sandbox Code Playgroud)
  2. 长:

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    
    Run Code Online (Sandbox Code Playgroud)

html5 doctype meta-tags

1499
推荐指数
7
解决办法
107万
查看次数

如何获取域名URL和应用程序名称?

这是场景.

我的Java Web应用程序有以下路径

https://www.mywebsite.com:9443/MyWebApp
Run Code Online (Sandbox Code Playgroud)

假设有一个JSP文件

https://www.mywebsite.com:9443/MyWebApp/protected/index.jsp
Run Code Online (Sandbox Code Playgroud)

我需要检索

https://www.mywebsite.com:9443/MyWebApp 
Run Code Online (Sandbox Code Playgroud)

在这个JSP文件中.

当然,有一种懒惰和愚蠢的方式只是获取URL然后重新跟踪路径.

但是有没有一种编程方式呢?具体来说,我想我可以获得域+端口,但是如何实际检索应用程序名称"MyWebApp"?

jsp base-url

96
推荐指数
4
解决办法
20万
查看次数

在调用转发到JSP的Servlet时,浏览器无法访问/查找CSS,图像和链接等相关资源

当我将servlet转发到JSP时,我在加载CSS和图像以及创建指向其他页面的链接方面遇到了麻烦.具体而言,当我把我的<welcome-file>index.jsp的CSS被加载并正在显示我的图片.但是,如果我将我设置<welcome-file>HomeServlet哪个转发控制index.jsp,则不应用CSS并且不显示我的图像.

我的CSS文件在web/styles/default.css.
我的照片在web/images/.

我像这样链接到我的CSS:

<link href="styles/default.css" rel="stylesheet" type="text/css" />
Run Code Online (Sandbox Code Playgroud)

我正在显示我的图像如下:

<img src="images/image1.png" alt="Image1" />
Run Code Online (Sandbox Code Playgroud)

这个问题是怎么造成的,怎么解决?


更新1:我添加了应用程序的结构,以及其他一些可能有用的信息.

替代文字

header.jsp文件是包含CSS链接标记的文件.该HomeServlet设置为我welcome-fileweb.xml:

<welcome-file-list>
    <welcome-file>HomeServlet</welcome-file>
</welcome-file-list>
Run Code Online (Sandbox Code Playgroud)

servlet被声明并映射为web.xml:

<servlet>
    <servlet-name>HomeServlet</servlet-name>
    <servlet-class>com.brianblog.frontend.HomeServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>HomeServlet</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)

更新2:我最终发现了问题 - 我的servlet映射不正确.显然当设置一个Servlet时,<welcome-file>它不能有一个URL模式/,我觉得有点奇怪,因为它不代表网站的根目录?

新映射如下:

<servlet-mapping>
    <servlet-name>HomeServlet</servlet-name>
    <url-pattern>/HomeServlet</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)

css jsp servlets image

77
推荐指数
2
解决办法
10万
查看次数

如何在不包含上下文根名称的情况下使用相对路径?

要使用我的静态文件(CSS,JS),我必须编写绝对路径/AppName/templates/style/main.css.有什么解决方案,我可以写相对路径style/main.css吗?

resources jsp servlets relative-path contextpath

76
推荐指数
2
解决办法
16万
查看次数

如何获得基本URL?

我有这个结构:

WebContent
    resources
        components
            top.xhtml

    company
        about_us.xhtml

    index.xhtml
Run Code Online (Sandbox Code Playgroud)

top.xhtml是一个组件,即在使用index.xthmlabout_us.xhtml太.

top.xhtml

<ul>
    <li><a href="index.xhtml">Home</a></li>
    <li><a href="company/about_us.xhtml">About us</a></li>
    ...
</ul>
Run Code Online (Sandbox Code Playgroud)

所以我的问题是,当当前页面是index.xhtml组件正确生成URL时,但当当前页面时about_us.xhtml,它会生成错误的URL.我不能使用相对路径,因为它也会生成错误的URL.我认为这是因为组件基于*.xhtml页面的当前路径.

我能找到的唯一解决方案是:

<ul>
    <li><a href="${pageContext.request.contextPath}/webname/index.xhtml">Home</a></li>
    <li><a href="${pageContext.request.contextPath}/webname/about_us.xhtml">About us</a></li>
    ...
</ul>
Run Code Online (Sandbox Code Playgroud)

但我认为根本不是"优雅".有任何想法吗?

java jsf jsf-2

67
推荐指数
1
解决办法
11万
查看次数

RewriteBase做了什么以及如何使用它?

我正在努力学习一些.htaccess技巧.我遇到了RewriteBase指令,但无法让它正常工作.

我想知道这个指令具体是什么以及如何使用它.RewriteBase在StackOverflow和Apache文档中已经有过一些讨论但仍然无法得到我的问题的明确答案.

有人可以告诉我一个简单但有效的例子RewriteBase吗?

apache .htaccess mod-rewrite

49
推荐指数
2
解决办法
6万
查看次数

使用<base>时,使锚链接指向当前页面

当我使用html <base>标记为页面上的所有相对链接定义基本URL时,锚链接也直接引用基本URL.有没有办法设置基本URL仍然允许锚链接引用当前打开的页面?

例如,如果我有一个页面http://example.com/foo/:


目前的行为:

<base href="http://example.com/" />
<a href="bar/">bar</a> <!-- Links to "http://example.com/bar/" -->
<a href="#baz">baz</a> <!-- Links to "http://example.com/#baz" -->
Run Code Online (Sandbox Code Playgroud)

期望的行为:

<base href="http://example.com/" />
<a href="bar/">bar</a> <!-- Links to "http://example.com/bar/" -->
<a href="#baz">baz</a> <!-- Links to "http://example.com/foo/#baz" -->
Run Code Online (Sandbox Code Playgroud)

html href

46
推荐指数
3
解决办法
2万
查看次数

在包含SVG标记元素的页面上使用基本标记无法呈现标记

尝试在基于SVG的可视化中使用SVG标记元素时遇到了问题.我正在将我的更改添加到Web应用程序中,该应用程序恰好在每个页面上都包含一个基本标记,因此对CSS文件,javascript文件等的任何引用都可以是相对的.

我在下面有一些示例代码可以重现该问题.有一个line元素,并定义了一个标记元素.标记元素由其"marker-end"属性中的行引用,通过uri和id of marker.没有基本标签,箭头显示正常.使用基本标记时,未显示.原因是因为基本标记改变了浏览器解析URL的方式..即使是在行的marker-end属性中指定的基于简单id的url.

有没有办法解决这个问题而不必删除基本标签?

我无法真正删除它,因为它的使用在我正在研究的产品中相当根深蒂固.我需要为我的webapp支持Firefox,Chrome和IE9 +.Firefox和Chrome都会产生这个问题.IE工作正常(即箭头标记显示).

<html>
    <head>
    <base href=".">
    <style>
    .link { stroke: #999; stroke-opacity: .6; }
    marker#arrow { fill: black; }
    </style>
</head>
<body>
    <svg width="100%" height="100%">
        <defs>
            <marker id="arrow" viewBox="0 -5 10 10" refX="0" refY="0" markerWidth="20" markerHeight="20" orient="auto">
                <path d="M0,-5L10,0L0,5"></path>
            </marker>
        </defs>
        <line x1="100" y1="100" x2="333" y2="333" marker-start="url(#arrow)" class="link"></line>
    </svg>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

html firefox svg google-chrome base-url

46
推荐指数
4
解决办法
1万
查看次数

angular-cli工具的--base-href和--deploy-url参数之间的区别是什么

Angular的文档告知我应该在Angular应用程序构建中使用--base-href参数进行生产,当它将部署在服务器的子文件夹中时:

如果将文件复制到服务器子文件夹中,请附加构建标志--base-href并进行相应设置.

例如,如果index.html位于服务器/my/app/index.html上,请将基本href设置为这样.

https://angular.io/guide/deployment

但是,angular-cli具有--deploy-url参数.工具文档将其描述为:

将部署文件的URL.

https://github.com/angular/angular-cli/wiki/build

我已经看到当应用程序要部署在服务器的子文件夹中时使用--base-href的--deploy-url的解决方案.

这个问题

angular-cli工具的--base-href和--deploy-url参数有什么区别?我什么时候应该使用每一个?

angular-cli angular

46
推荐指数
4
解决办法
3万
查看次数

〜/ javascript中的等价物

在JavaScript中进行基于"root"的路径引用的任何聪明方式,就像我们~/在ASP.NET中的方式一样?

javascript asp.net web-applications relative-path

43
推荐指数
7
解决办法
3万
查看次数