我设计了3个jsp页面。
index.jsp,login.jsp和newUser。 JSP
的index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Ho there!</title>
</head>
<body>
This is authorization page.
<br>
<a href="/AgileScrumBoard/index.jsp?action=new">Create a new account</a>
<br>
<a href="/AgileScrumBoard/index.jsp?action=login">Login with the existing</a>
</body>
</html>
newUser和login只是普通的jsp页面。
这里是servlet的方法doGet:
String action=request.getParameter("action");
if(action.equals("new")){
response.sendRedirect("/newUser.jsp");
}else if(action.equals("login")){
request.getRequestDispatcher("/login.jsp").forward(request, response);
}else{
request.getRequestDispatcher("/login.jsp").forward(request, response);
}
}
问题是:为什么当我按下链接时请求调度员没有;转发我/将我重定向到指定的jsp页面?
PS:web.xml
<servlet>
<servlet-name>Index</servlet-name>
<jsp-file>/index.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>Index</servlet-name>
<url-pattern>/index.jsp</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>MainController</servlet-name>
<servlet-class>controller.MainController</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MainController</servlet-name>
<url-pattern>/index</url-pattern>
</servlet-mapping>
当我在Tomcat运行我的应用程序时:
答案 0 :(得分:0)
两个链接都重定向到index.jsp,这是您已经在的页面。而不是/AgileScrumBoard/index.jsp添加您的servlet名称。链接应重定向到servlet,然后servlet将重定向到login.jsp或newUser.jsp
答案 1 :(得分:0)
这是你的index.jsp代码所说的:
<a href="/AgileScrumBoard/index.jsp?action=new">Create a new account</a>
<br>
<a href="/AgileScrumBoard/index.jsp?action=login">Login with the existing</a>
</body>
两个链接都重定向到/AgileScrumBoard/index.jsp 我认为代码应该是:
<a href="yourservleturl?action=new">Create a new account</a>
<br>
<a href="yourservleturl?action=login">Login with the existing</a>
</body>