我们正在编写使用Spring MVC的应用程序。今天我在.jsp文件中的c:url
标签没什么好玩的。
所以我最终打了个仗,现在是时候知道这个标签是多么令人兴奋了。
例如在这个页面上:http://heavyz.sourceforge.net/homepage/homepage_zh/comp/notes/jstl-core.html我可以读到它做了类似的事情
预先设置当前servlet上下文的名称
和
value属性用于指定基本URL,然后是标记 根据需要进行转换。如果此基本URL以转发开头 斜杠,然后将预先添加servlet上下文名称。一个明确的 可以使用context属性提供上下文名称。如果这 省略属性,然后是当前servlet上下文的名称 将被使用。
但我想知道这个current servlet context
的事情,因为我的登录表单是
<form name='f' action="<c:url value='/j_spring_security_check' />"
method='POST'>
<fieldset>
<div class="form_elem">
<label for="j_username">Login: </label> <input type="text"
name="j_username" value="" />
</div>
<div class="form_elem">
<label for="j_password" accesskey="l">Hasło:</label> <input
type="password" name="j_password">
</div>
<div class="form_elem">
<label for="_spring_security_remember_me">Zapamiętaj mnie?</label> <input
type='checkbox' name='_spring_security_remember_me'
id="_spring_security_remember_me" value="true" />
</div>
<input name="submit" type="submit" value="Send" class="newline" />
</fieldset>
<a href="register">Register</a><br>
</form>
你可以注意到j_spring_security_check
附近的斜线,但是在我没有这个斜线之前,当有人在注册后刷新时,他获得了登录页面但是这个链接在浏览器中例如
localhost:8080/taboret/activateAccount/50555449564956495757565057535150535649494956565550554949565752545053505252485450
如果现在已发送登录表单,则会将其发送到http://localhost:8080/taboret/activateAccount/j_spring_security_check
但我认为这个servlet上下文只是taboret
,即应用程序的名称。
这Prepending the name of the current servlet context
的意思是什么?