教學在線答疑係統

一、概述

春耕、夏忙、秋收、冬藏,對於博主來說,自己的博客就像農夫耕耘的一畝三分地,以文字代碼作爲種子,用戶的點贊、評論、收藏則是收穫,寫作中的思維邏輯再造更是錦上添花的樂事了。——出自CSDN

由於疫情時期,大家不能返校上課,都在家裏上網課,那麼有什麼問題基本都是在社交軟件上面問,而問題一下子又被其他聊天記錄刷過去,有時候老師看到了,其他同學又看不到。此時,教學在線答疑係統就體現出他的優勢所在了,提問的問題再不會被刷下去,每個同學都可以看到。話不多說,直接上圖~~~

二、開發環境

語言:Java、HTML等;

數據庫:MySQL;

服務器:Tomcat 7 以上;

開發工具:Eclipse 或 IDEA。

三、部分截圖

首頁
登錄
課程列表(管理員角色)
教師列表(管理員角色)
留言列表(管理員角色)
添加學院(管理員角色)
主頁(教師角色)
問題一覽(教師角色)
問題詳情解答頁(教師角色)
主頁(學生角色)
課程頁(學生角色)

Tips

非常感謝開發的同學,讓我們在疫情期間擁有這麼好的一個答疑係統,從而提高了學生的學習效率、老師的辦公效率。

public class EncodeFilter implements Filter {
	public EncodeFilter() {}
	public void destroy() {}
	public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
			throws IOException, ServletException {
		HttpServletRequest myRequest = new MyRequest((HttpServletRequest) request);
		//加載CSS
		String url=((HttpServletRequest) request).getRequestURI();
		if(url.indexOf(".css")>0||url.indexOf(".js")>0||url.indexOf(".png")>0) {
            chain.doFilter(request, response);
            return;
        }
		response.setContentType("text/html; charset=UTF-8");
		chain.doFilter(myRequest, response);
	}
	public void init(FilterConfig fConfig) throws ServletException {
	}
}
class MyRequest extends HttpServletRequestWrapper {
	private HttpServletRequest request;
	private boolean hasEncode;
	public MyRequest(HttpServletRequest request) {
		super(request);// super必須寫
		this.request = request;
	}
	// 對需要增強方法 進行覆蓋
	@Override
	public Map getParameterMap() {
		// 先獲得請求方式
		String method = request.getMethod();
		if (method.equalsIgnoreCase("post")) {
			// post請求
			try {
				// 處理post亂碼
				request.setCharacterEncoding("utf-8");
				return request.getParameterMap();
			} catch (UnsupportedEncodingException e) {
				e.printStackTrace();
			}
		} else if (method.equalsIgnoreCase("get")) {
			// get請求
			Map<String, String[]> parameterMap = request.getParameterMap();
			if (!hasEncode) { // 確保get手動編碼邏輯只運行一次
				for (String parameterName : parameterMap.keySet()) {
					String[] values = parameterMap.get(parameterName);
					if (values != null) {
						for (int i = 0; i < values.length; i++) {
							try {
								// 處理get亂碼
								values[i] = new String(values[i].getBytes("ISO-8859-1"), "utf-8");
							} catch (UnsupportedEncodingException e) {
								e.printStackTrace();
							}
						}
					}
				}
				hasEncode = true;
			}
			return parameterMap;
		}
		return super.getParameterMap();
	}
	@Override
	public String getParameter(String name) {
		Map<String, String[]> parameterMap = getParameterMap();
		String[] values = parameterMap.get(name);
		if (values == null) {
			return null;
		}
		return values[0]; // 取回參數的第一個值
	}
	@Override
	public String[] getParameterValues(String name) {
		Map<String, String[]> parameterMap = getParameterMap();
		String[] values = parameterMap.get(name);
		return values;
	}
}
<!DOCTYPE-HTML>
<html>
<head>
  <title>【要求】</title>
</head>
<body>
  <h1>掌握操作系統、程序設計語言的基礎知識</h1>
  <h2>正確閱讀和理解計算機領域的簡單英文資料</h2>
  <h3>熟練掌握Java程序設計語言,以及C++、C#、Python中的一種程序設計語言</h3>
  <h4>......</h4>
  <br>
  <h1><a href="https://blog.csdn.net/weixin_42148410">CSDN Download</a></h1>
  <%
     if(CSDN Can Not Download){
       String +Q = "1159928833";  
     }else{
       System.out.print(+Q)
     }
  %>
</body>
</html>

如有冒犯請通知我刪帖!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章