java - 如何从URL中读取参数中的HashMark

标签 java

我编写了一个Java Servlet,它查询数据库并将结果返回到JSP。 我正在根据从 URL 传递的参数执行 SQL 语句

//Reading Parameter
String User = request.getParameter("userid");

//Executing the SQL
String sqluser = "SELECT 1  FROM <table name> WHERE username = ?

pstmt = con.prepareStatement(sqluser);
pstmt.setString(1, User);
rset = pstmt.executeQuery();

示例网址: http:\testenv.com\test?userid=tana

由于 user='tana',上述 URL 显示正确的结果。

但是有些用户的用户名中带有“#”。

例如: http:\testenv.com\test?userid=la#na

即使 URL 包含“la#na”,SQL 语句也不会返回任何值,因为在上述情况下 User= 'la'。我可以使用 getParameter 获取值“la#na”吗?如果是的话我需要做什么?

谢谢。

最佳答案

哈希字符需要正确编码,因为它通常用作内部链接。

http://testenv.com/test?userid=la%23na

关于java - 如何从URL中读取参数中的HashMark,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11214598/

相关文章:

java - 为什么在第一个打印中它说不同,而 a 和 b 相同?

java - 获取当前日期并检查是否为 "Day X"

自动调整大小和滚动的 Java JTextArea

java - HTTP 状态 405 - 此 URL 不支持 HTTP 方法 POST - SOAP

java - 我可以以某种方式从新的 Java 程序运行以前编译的 Java 字节码吗?

java - 使用线程调用不同的方法

java - WAR 不会部署在不同的机器上

java - 我可以通过桌面上的图标运行 Java 程序吗?

java - 获取Key SQLite Android

java - Android Activity 生命周期 --- 如何在重新启动 Activity 时重置变量?