我使用的是windows操作系统。使用tomcat 8。IDE-Netbeans 8。JDK1。8.0_05
我试图为某些servlet指定希伯来语url模式。(我通过设置@webservlet
注释的Urlpattern
属性,以及将其放入web.xml
文件,尝试了这两种方法)。
希伯来语地图不起作用。我检查Tomcat运行时映射的样子(通过使用JConsole的MBeans选项卡),希伯来语url显示为乱码(特别是问号)。
我试过:
关于如何使用tomcat、netbeans、java和windows设置映射到希伯来语(UTF-8)url,有什么建议吗?
谢谢。
遵循以下步骤:
>
编写一个将控制所有请求和响应的字符集筛选器:
引用:https://github.com/edendramis/freemarker-example/blob/master/src/main/java/com/edendramis/config/CharsetFilter.java
package charsetFilter.classes;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class CharsetFilter implements Filter{
private String encoding;
public void init(FilterConfig config) throws ServletException{
encoding = config.getInitParameter("requestEncoding");
if( encoding==null ) encoding="UTF-8";
}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain next)
throws IOException, ServletException{
// Respect the client-specified character encoding
// (see HTTP specification section 3.4.1)
if(null == request.getCharacterEncoding())
request.setCharacterEncoding(encoding);
/**
* Set the default response content type and encoding
*/
response.setContentType("text/html; charset=UTF-8");
response.setCharacterEncoding("UTF-8");
next.doFilter(request, response);
}
public void destroy(){}
}`
将此筛选器添加到web。xml
<filter>
<filter-name>CharsetFilter</filter-name>
<filter-class>charsetFilter.classes.CharsetFilter</filter-class>
<init-param>
<param-name>requestEncoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharsetFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
编写一些超文本标记语言代码,例如:
在servlet中使用以下内容:
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html; charset=UTF-8");
response.setCharacterEncoding("UTF-8");
获取字符串:
字符串输入=新字符串(request.getParameter(“foo”)。getBytes(“iso-8859-1”),“utf-8”);字符串输入=URL解码器。解码(request.getParameter(“关键字”),“UTF-8”);系统出来println(输入)
网址:
String str = "$ome UTF-8 text £900";
String url = "http://your-domain.com/url?p=" + URLEncoder.encode(str, "UTF-8");
干杯
您需要配置您的应用服务器以在utf-8中编码请求参数。由于您使用的是Tomcat,这将是在conf/server.xml文件中设置URIEncode="UTF-8"
。它应该是这样的:
<Connector port="8080" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
.......
URIEncoding="UTF-8"
/>
你好,我想写一个带有HEBREW文本的CSV。它写了一些符号,而不是希伯来文。下面是我的PHP代码。 我在互联网上查了一下,添加了“fputs($fp,$bom=(chr(0xEF).chr(0xBB).chr(0xBF))”,但没有成功。谁能帮帮我吗。 下面是我得到的结果。
我遇到了一些问题,无法理解URL映射是如何为servlet工作的。 我在网上看了很多教程和帖子,但没有运气。 所以,假设我有一个servlet(welcomeServlet.java)、一个索引页(index.html)和我的web.xml文件。 java文件在src目录中,而index.html在WebContent目录中。 我的索引页将由web.xml调用,并将显示一个按钮,一旦按下该按钮,将
问题内容: 我是Java servlet的新手。 如果这个问题看起来很愚蠢,请原谅我。 我在web.xml servlet选项卡中使用netbeans添加了servlet映射,例如servlet类和url模式,但是当应用程序运行时,它不会直接进入目标URL,即http:// localhost:8080 / HelloDuke2 / greeting 但 http :// localhost:80
我为Tomcat处理这个web xml文件已经有一段时间了。 我知道这个文件正在被读取,因为当我使用 } 我能够读出我放在上下文参数中的名称。我要问你们的问题是,我如何创建一个网址映射,这样我就不必通过 /servlet/来访问网址中的servlet?当我试图制作一个网址模式时,比如 /test/*,即使我说网站/测试/TestServlet,我也无法访问servlet。我从浏览器中得到404未找
Web 容器需要本章描述的映射技术去映射客户端请求到 Servlet(该规范2.5以前的版本,使用这些映射技术是作为一个建议而不是要求,允许servlet 容器各有其不同的策略用于映射客户端请求到 servlet)。
问题内容: 如果我点击/ test / page,以上方法将起作用。但是,打/ test或/ test /将不起作用。我正在使用Spring MVC,我的请求映射如下: 编辑: 我正在通过一个独立的项目进行验证,但这似乎是Spring的UrlPathHelper的一个错误。当同时存在上下文和servlet路径时,以下方法将返回错误的路径,并且你在打servlet时不带斜杠。 举例来说,我有一个“