-
Notifications
You must be signed in to change notification settings - Fork 75
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #346 from Mr-bingo/master
- Loading branch information
Showing
8 changed files
with
1,027 additions
and
205 deletions.
There are no files selected for viewing
57 changes: 57 additions & 0 deletions
57
jweb/src/edu/hzu/javaweb/labs/se1414080902108/EncodingFilter.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
package edu.hzu.javaweb.labs.se1414080902108; | ||
|
||
import java.io.IOException; | ||
import javax.servlet.Filter; | ||
import javax.servlet.FilterChain; | ||
import javax.servlet.FilterConfig; | ||
import javax.servlet.ServletException; | ||
import javax.servlet.ServletRequest; | ||
import javax.servlet.ServletResponse; | ||
import javax.servlet.annotation.WebFilter; | ||
|
||
/** | ||
* Servlet Filter implementation class EncodingFilter | ||
*/ | ||
@WebFilter("/1414080902108") | ||
public class EncodingFilter implements Filter { | ||
|
||
/** | ||
* Default constructor. | ||
*/ | ||
private String encoding = null; | ||
|
||
private String getEncoding() { | ||
return this.encoding; | ||
} | ||
|
||
public EncodingFilter() { | ||
// TODO Auto-generated constructor stub | ||
} | ||
|
||
/** | ||
* @see Filter#destroy() | ||
*/ | ||
public void destroy() { | ||
encoding = null; | ||
} | ||
|
||
/** | ||
* @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain) | ||
*/ | ||
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { | ||
String encoding = getEncoding(); | ||
if (encoding == null){ | ||
encoding = "UTF-8"; | ||
} | ||
request.setCharacterEncoding(encoding); | ||
chain.doFilter(request, response); | ||
} | ||
|
||
/** | ||
* @see Filter#init(FilterConfig) | ||
*/ | ||
public void init(FilterConfig fConfig) throws ServletException { | ||
this.encoding = fConfig.getInitParameter("encoding"); | ||
} | ||
|
||
} |
79 changes: 79 additions & 0 deletions
79
jweb/src/edu/hzu/javaweb/labs/se1414080902108/SecurityFilter.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
package edu.hzu.javaweb.labs.se1414080902108; | ||
|
||
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 SecurityFilter | ||
*/ | ||
@WebFilter("/1414080902108") | ||
public class SecurityFilter implements Filter { | ||
|
||
/** | ||
* Default constructor. | ||
*/ | ||
public SecurityFilter() { | ||
// 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 { | ||
HttpServletRequest req = (HttpServletRequest) request; | ||
HttpServletResponse res = (HttpServletResponse) response; | ||
HttpSession session = req.getSession(); | ||
String servletPath = req.getServletPath(); | ||
String flag = (String) session.getAttribute("flag"); | ||
|
||
if(servletPath !=null && (servletPath.equals("/login.jsp")) || | ||
(servletPath.equals("/index.jsp")) || (servletPath.equals("/loginSe1414080902108")) || | ||
(servletPath.equals("/sign_up.jsp"))){ | ||
chain.doFilter(request, response); | ||
}else{ | ||
if(flag != null && flag.equals("login_success")){ | ||
chain.doFilter(request, response); | ||
}else if(flag != null && flag.equals("login_error")){ | ||
req.setAttribute("msg", "登录失败"); | ||
req.setAttribute("return_uri", servletPath); | ||
RequestDispatcher rd = null; | ||
rd = request.getRequestDispatcher("/sign.jsp"); | ||
rd.forward(request, response); | ||
}else{ | ||
req.setAttribute("msg", "尚未登录"); | ||
req.setAttribute("return_uri", servletPath); | ||
RequestDispatcher rd = null; | ||
rd = request.getRequestDispatcher("/sign.jsp"); | ||
rd.forward(request, response); | ||
} | ||
} | ||
|
||
|
||
} | ||
|
||
/** | ||
* @see Filter#init(FilterConfig) | ||
*/ | ||
public void init(FilterConfig fConfig) throws ServletException { | ||
// TODO Auto-generated method stub | ||
} | ||
|
||
} |
58 changes: 58 additions & 0 deletions
58
jweb/src/edu/hzu/javaweb/labs/se1414080902108/loginSe1414080902108.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
package edu.hzu.javaweb.labs.se1414080902108; | ||
|
||
import java.io.IOException; | ||
|
||
import javax.servlet.RequestDispatcher; | ||
import javax.servlet.ServletException; | ||
import javax.servlet.annotation.WebServlet; | ||
import javax.servlet.http.HttpServlet; | ||
import javax.servlet.http.HttpServletRequest; | ||
import javax.servlet.http.HttpServletResponse; | ||
|
||
/** | ||
* Servlet implementation class loginSe1414080902108 | ||
*/ | ||
@WebServlet("/1414080902108") | ||
public class loginSe1414080902108 extends HttpServlet { | ||
private static final long serialVersionUID = 1L; | ||
|
||
/** | ||
* @see HttpServlet#HttpServlet() | ||
*/ | ||
public loginSe1414080902108() { | ||
super(); | ||
// TODO Auto-generated constructor stub | ||
} | ||
|
||
/** | ||
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) | ||
*/ | ||
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { | ||
doPost(request,response); | ||
} | ||
|
||
/** | ||
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) | ||
*/ | ||
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { | ||
String username = request.getParameter("userName"); | ||
String password = request.getParameter("password"); | ||
String returnUri = request.getParameter("return_uri"); | ||
RequestDispatcher rd = null; | ||
if(username == "" || password == ""){ | ||
request.setAttribute("msg", "用户名或者密码为空!!!"); | ||
rd = request.getRequestDispatcher("/sign_up.jsp"); | ||
rd.forward(request, response); | ||
}else{ | ||
request.getSession().setAttribute("flag", "login_success"); | ||
if(returnUri != null){ | ||
rd = request.getRequestDispatcher(returnUri); | ||
rd.forward(request, response); | ||
}else{ | ||
rd = request.getRequestDispatcher("/index.jsp"); | ||
rd.forward(request, response); | ||
} | ||
} | ||
} | ||
|
||
} |
40 changes: 40 additions & 0 deletions
40
jweb/src/edu/hzu/javaweb/labs/se1414080902108/logoutSe1414080902108.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
package edu.hzu.javaweb.labs.se1414080902108; | ||
|
||
import java.io.IOException; | ||
import javax.servlet.ServletException; | ||
import javax.servlet.annotation.WebServlet; | ||
import javax.servlet.http.HttpServlet; | ||
import javax.servlet.http.HttpServletRequest; | ||
import javax.servlet.http.HttpServletResponse; | ||
|
||
/** | ||
* Servlet implementation class logoutSe1414080902108 | ||
*/ | ||
@WebServlet("/Se1414080902108") | ||
public class logoutSe1414080902108 extends HttpServlet { | ||
private static final long serialVersionUID = 1L; | ||
|
||
/** | ||
* @see HttpServlet#HttpServlet() | ||
*/ | ||
public logoutSe1414080902108() { | ||
super(); | ||
// TODO Auto-generated constructor stub | ||
} | ||
|
||
/** | ||
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) | ||
*/ | ||
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { | ||
doPost(request,response); | ||
} | ||
|
||
/** | ||
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) | ||
*/ | ||
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { | ||
request.getSession().invalidate(); | ||
response.sendRedirect(request.getContextPath() + "/index.jsp"); | ||
} | ||
|
||
} |
Oops, something went wrong.