我的站点转到登录页面,我想在用户登录时重定向到另一个页面。我有一个“ POST”方法,该方法将“用户名”和“密码”发送到服务器,服务器检查用户名和密码存在。
这是我的方法
@POST
@Path("logIn")
public void signIn(@PathParam("profileName") String profileName, @PathParam("password") String password) {
if (profileService.getProfile(profileName) != null && (profileService.getPassword(profileName)).equals(password)){
//Render a new page ex "feed.jsp"
}
else {
//send unsucessful message back to client??
}
客户端能够正确发布用户名和密码,并检查其是否存在…我只是不知道如何使它呈现(重定向到???)一个新页面
重定向,(使用Response.seeOther(URI)
,将任何需要的值作为查询参数传递。例如
@POST
@Path("logIn")
public Response login(@Context ServletContext context) {
UriBuilder uriBuilder = UriBuilder.fromUri(URI.create(context.getContextPath()));
uriBuilder.path(.. <path-to-your-jsp> ..);
uriBuilder.queryParam("key1", "value1");
uriBuilder.queryParam("key1", "value2");
URI uri = uriBuilder.build();
return Response.seeOther(uri).build();
}
使用Jersey的JSP
MVC功能
,并在此处清楚地演示。例如
@POST
@Path("logIn")
public Viewable login() {
Map<String, String> model = new HashMap<>();
model.put("key1", "value1");
model.put("key2", "value2");
return new Viewable("/feed", model);
}
feed.jsp
<html>
<body>
<p>${it.key1}</p>
<p>${it.key2}</p>
</body>
</html>
另外: 您是否 真的 要在URI路径中传递密码?会带来巨大的安全风险。最好在请求正文中传递它。
现在,我考虑了一下,您应该始终按照POST / REDIRECT /
GET
模式从登录POST
重定向。如果要在整个方法中使用JSP
MVC,则可以让控制器返回Viewable
登录页面的GET(在GET上),并在成功返回POST的情况下,重定向到Feed控制器,否则重定向回同一登录页面(得到)。有几种不同的解决方案。
例如
@Path("/login")
public class LoginController {
@GET
public Viewable loginPage() {
...
return new Viewable("/login", model); // to login.jsp
}
@POST
public Response loginPost(Form form, @Context UriInfo uriInfo) {
...
UriBuilder builder = uriInfo.getBaseUriBuilder();
if (success) {
builder.path("/feed"); // to FeedController GET
} else {
builder.path("/login"); // to LoginController GET
}
return Response.seeOther(builder.build()).build();
}
}
@Path("/feed")
public class FeedController {
@GET
public Viewable getFeed() {
...
return new Viewable("/feed", model); // to feed.jsp
}
}
问题内容: 我已经成功完成了在浏览器中而不是“打开/保存”对话框中显示PDF文件的代码。现在,我一直试图在浏览器中显示Word文档。我想在Firefox,IE7+,Chrome等中显示Word文档。 有人可以帮忙吗?在浏览器中显示Word文档时,总是会出现“打开/保存”对话框。我想使用JavaScript实现此功能。 问题答案: 目前没有浏览器具有呈现Word文档所必需的代码,据我所知,当前也没有
使用DRF,我有一个用户模型,其中包括一个地址字段,这是一个文本字段。当我在API浏览器中查看UserList终结点时,地址如下所示: 从文档中,我认为我需要在序列化程序中使用以下内容: ...但这并没有解决问题。PhoneNumberField类型字段也会发生同样的情况: 我在序列化程序中将它们重新定义为CharField。 更新: 我的模型和序列化程序比通常要复杂一些,因为我将地址、国家和三个
有人能给出在“https://network.axial.net/a/company/business-team-san-francisco/”这样的网站上使用JSoup的正确方法吗?
问题内容: 我需要一个命令行工具(或Javascript / PHP,但我认为命令行是一种方式)来进行渲染并获取URL的渲染内容,但是重要的是我不仅要渲染CSS / Html / images,还要渲染Javascript。 例如,诸如“ renderengine http://www.google.es outputfile.html”之类的命令和网络内容(已解析的html和javascript
Localhost很好,但上传到服务器时不工作 %pdf-1.3 1 0 obj<>Endobj2 0 obj<>Endobj3 0 obj<>>/Mediabox[0.000 0.000 595.280 841.890]>>Endobj4 0 obj<>stream x 2 300 p@&b m-l l,br b 5 jr k drr f b k endstream endobj 8 0 obj