Skip to content

Commit

Permalink
Merge pull request #346 from Mr-bingo/master
Browse files Browse the repository at this point in the history
#5 提交实验代码 #63 在线考试系统
  • Loading branch information
zengsn authored Nov 5, 2016
2 parents 90db38e + 5a52d1e commit 7abdb7e
Show file tree
Hide file tree
Showing 8 changed files with 1,027 additions and 205 deletions.
57 changes: 57 additions & 0 deletions jweb/src/edu/hzu/javaweb/labs/se1414080902108/EncodingFilter.java
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 jweb/src/edu/hzu/javaweb/labs/se1414080902108/SecurityFilter.java
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
}

}
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);
}
}
}

}
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");
}

}
Loading

0 comments on commit 7abdb7e

Please sign in to comment.