le codage d'url en java?
Je veux savoir que ce qui est le codage d'url.
J'ai 2 pages jsp et une servlet.
Quand je lance l'application l'url affichée est :
http://localhost:8080/myproject/index.jsp
où
index.jsp :
<form action="Myservlet" method="post">
<input type="text" name="mytext" id="mytext"/>
<input type="submit" value="submit"/>
</form>
après le soumettre bouton est cliqué sur l'URL affichée est :
http://localhost:8080/myproject/Myservlet
Quel est le sens de l'encodage de l'URL? Comment puis-je encoder l'url?
De index.jsp
va à Myservlet
puis à result.jsp
Myservet#doPost //Dois-je faire de l'encodage de l'URL ici? Si oui, comment ?
fetching data from db.......
....................
String nextJSP = "/result.jsp";
RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(nextJSP);
dispatcher.forward(request,response);
résultat.jsp
displays data here
- svp quelqu'un peut donner quelques éléments de réponses à ma question
- Avez-vous même essayer de chercher sur google? en.wikipedia.org/wiki/URL_Encoding
- Double Possible: stackoverflow.com/questions/8713208/... (Voir la 2e réponse)
- ya j'ai cherché sur google mais je n'ai n obtenez pas de réponses à ma question...j'y ai trouvé déroutant sujets et de ne pas venir à ma question..si vous savez alors s'il vous plaît m'aider à peu en postant votre réponse, comment puis-je encoder l'url?
- Juste la recherche pour "java codage d'url'...
- pouvez-vous svp m'aider en écrivant Balus code dans
scriplets
, je suis en utilisant scriplets en jsp pas jstl, je suis de se confondre dans la jstl et je suis en apprentissage - ya je suis à la recherche, mais vraiment parlant, je n'obtiens pas de réponse pour ma question
- L'encodage de l'URL n'est pas la réponse à tout problème que vous avez décrit ici.
- Vous devriez être en mesure de faire avec les informations que j'ai fourni.
- j'ai vu sur certains de ces attaques sur les sites web par url, donc la façon de protéger les url? par l'encodage d'url ou d'autres méthodes sont là?
- j'ai reçu votre réponse, mais dans mon application c'est à dire
http://localhost:8080/myproject/index.jsp
doit être formé à une autre url, commehttp://localhost:8080/myproject/rrwr%f$$%ddsd
? je ne suis pas en mesure de convertir votre réponse dans mon application web - toute solution s'il vous plaît?
- La Solution à quoi? Je vous suggère de réduire votre question à quelque chose qui peut réellement être répondu. Encodage n'est pas une solution de site web vulnérabilités soit. Vous semblez avoir fixé sur une "solution" sans même de décider ce qui est le problème.
- ok je vais dire à de nombreuses reprises lors de la visite de sites web url, vous auriez vu comme ceci:
http://www.xyz.com/index.jsp?erwerc%frefrr_55%...
comme ça, qu'est-ce que ce?erwerc....
comment cela vient après l'index.jsp? - Ce sont les arguments de l'URL et ils sont en effet URL-encodé. C'est encore une fois pas quelque chose qui nécessite une "solution".
- ont demandé la même question de savoir comment puis-je format d'url à être à la recherche comme ci-dessus, on c'est à dire
http://localhost:8080/myproject/index.jsp?wwffwfrf%_%dffrfewr...
comme ça...je veux que ce type de codage d'url...est-il de toute façon comment puis-je le faire? Veuillez EJP
Vous devez vous connecter pour publier un commentaire.
Il y a deux types de codage: HTML codage du formulaire et URL ré-écriture.
En forme de codage, la chaîne d'URL est converti en ASCII valides format Internet. À partir de la URLEncoder.encode(String, String) docs:
Le second type est la réécriture d'URL. La chaîne de l'URL est encodé avec un id de session dans le cas où le client navigateur ne supporte pas (ou a désactivé) les cookies de session ou de suivi. À partir de la HttpServletResponse.encodeURL(String) docs:
<form action="Myservlet?some encoding">
?http://localhost:8080/myproject/index.jsp
? de sorte qu'il sera protégé des attaques vulnérables?<form action="<%= new URLEncoder().encode(myURL, "UTF-8") %>">
, l'URL ré-écriture:<form action="<%= request.encodeURL(myURL) %>">
.Je pense que vous avez misundersting ici. Ni
HTML Form Encoding
niURL Re-writing
est ce que vous voulez atteindre.Si vous voulez obtenir comme .
Par exemple: au lieu de taper http://localhost:8080/search.jsp?xxx de l'utilisateur verrait http:/localhost:8080/search?xxx
Vous pouvez créer une servlet cartographie comme ceci:
L'url-pattern doit être modifié en fonction de vos besoins. Vous avez besoin de cours pour créer la servlet dans le but de faire correspondre l'url de la réelle jsp. Cette technique est utilisée par la plupart des frameworks MVC.
Lire Plus sur
Comment développer JSP/Servlets Application Web en utilisant un modèle MVC?
Utilisation
java.net.URLEncoder.encode(s, "UTF-8")
oùs
est la chaîne à coder.Cela est nécessaire à chaque fois que nous envoyer le texte que les segments du chemin, arguments de chaîne de requête, etc...
Exemple: voir la documentation