Java 用于登录基于web的应用程序的Servlet筛选器
我有一个基于web的应用程序,需要用户输入用户名和密码才能登录到“主页”。我想我最好的选择是使用Servlet过滤器来验证用户登录,而不必输入UserID和密码 此外,基于web的应用程序还有自己的web.xml文件,我需要添加该文件:Java 用于登录基于web的应用程序的Servlet筛选器,java,html,jsp,servlets,servlet-filters,Java,Html,Jsp,Servlets,Servlet Filters,我有一个基于web的应用程序,需要用户输入用户名和密码才能登录到“主页”。我想我最好的选择是使用Servlet过滤器来验证用户登录,而不必输入UserID和密码 此外,基于web的应用程序还有自己的web.xml文件,我需要添加该文件: <filter> <filter-name>LoginAuth</filter-name> <filter-class>my.package.name.ServletFilter</filter-class&
<filter>
<filter-name>LoginAuth</filter-name>
<filter-class>my.package.name.ServletFilter</filter-class>
</filter>
...
<filter-mapping>
<filter-name>LoginAuth</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping
至于测试,我正在使用一个简单的html表单按下“提交”按钮来传递Java类,理想情况下是按下按钮,应该可以看到我的应用程序的主页(已经登录):
在此处插入标题
我看到了很多例子,但大多数都是使用custom.jsp或html来获取getAttribute UserID和密码,但在我的例子中,我希望使用现有的web应用程序登录。你知道我怎样才能完成上面的代码吗?或者其他我应该尝试的指导
比如说:
基于web的应用程序:
UserID=“admin”
Password=“Password”
package my.package.name;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
/**
* Servlet Filter implementation class ServletFilter
*/
@WebFilter("/LoginAuth")
public class ServletFilter implements Filter {
/**
* Default constructor.
*/
public ServletFilter() {
// TODO Auto-generated constructor stub
}
/**
* @see Filter#destroy()
*/
public void destroy() {
// TODO Auto-generated method stub
}
/**
* @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain)
*/
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
// TODO Auto-generated method stub
// place your code here
HttpServletRequest httpRequest = (HttpServletRequest) request;
HttpServletResponse httpResponse = (HttpServletResponse)response;
HttpSession session = httpRequest.getSession(false);
// pass the request along the filter chain
chain.doFilter(request, response);
}
/**
* @see Filter#init(FilterConfig)
*/
public void init(FilterConfig fConfig) throws ServletException {
// TODO Auto-generated method stub
}
}
<!DOCTYPE html>
<html>
<head>
<meta charset="BIG5">
<title>Insert title here</title>
</head>
<body>
<form action="ServletFilter" method="post">
<input type="submit" value="Click me!">
</form>
</body>
</html>