我编写了一个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',因此上述网址显示了正确的结果。

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

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

即使URL带有“ la#na”,在上述情况下,由于User ='la',SQL语句也不会返回任何值。我可以使用getParameter获得值“ la#na”吗?如果是这样,我该怎么办?

谢谢。

最佳答案

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

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

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

10-11 22:53
查看更多