我将参数传递给服务器行
"login=testAva4&nick=testAvaNick&social=vk&saurl=http://domain.example?param1=1¶m2=2¶m3=3&maurl=1"
等待值saurl =“http://domain.example?param1 = 1& param2 = 2& param3 = 3”
但我得到http://domain.example?param1=1而param2 = 2 param3 = 3
从Eclipse调试
req->_parameters
{maurl=1, nick=testAvaNick, param2=2, saurl=http://domain.example?param1=1, param3=3, social=vk, login=testAva4}
获取代码中的参数,如下所示:
public class AddProfileServlet extends PlacerServlet {
//Add new profile method
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
//Receive variables from URL
String login = req.getParameter("login");
String nick = req.getParameter("nick");
String social = req.getParameter("social");
String saurl = req.getParameter("saurl");
答案 0 :(得分:0)
您应该在saurl参数上使用URLEncoding。
查看commons编解码器enter link description here项目中的URLCodec。
我认为您不需要编码整个参数部分,而只需要编码此特定参数的值。
您可以使用以下方法对字符串进行编码:
URLCodec codec = new URLCodec();
String encodedValue = codec.encode(valueToEncode);
你应该使用encodedValue作为传递给saurl参数的值。