【プロジェクト】コントローラー部分に関する注意事項

1. CRUDの場合:

追加、削除、および変更の場合、メソッドを区別してカプセル化し、対応するエントリを入力するときに対応するメソッドを実行できます。

例えば:

Change_sqlW.java

package IT.org.Controller;

import java.io.IOException;
import java.util.ArrayList;
import java.util.Date;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import IT.org.Factory.DAOFactory;
import IT.org.Util.SDate;
import IT.org.VO.AssetChangeInfo;
import IT.org.VO.AssetDamageInfo;
import IT.org.VO.AssetInfo;
import IT.org.VO.AssetSaleInfo;

/**
 * Servlet implementation class Change_sqlW
 */
@WebServlet("/Change_sqlW")
public class Change_sqlW extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public Change_sqlW() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		response.setContentType("text/html;charset=UTF-8");
        request.setCharacterEncoding("UTF-8");
        if(request.getParameter("insert")!=null) insertServlet(request, response);
        if(request.getParameter("updatean")!=null) findupdateServlet(request, response);
        if(request.getParameter("IDselect")!=null) findAssetInfo(request, response);
        if(request.getParameter("look")!=null) lookServlet(request, response);
        if(request.getParameter("update")!=null) updateServlet(request, response);
        if(request.getParameter("del")!=null||request.getParameter("dels")!=null) delInfoServlet(request, response);
        selectServlet(request, response);
	}
/**
 * 新增入口
 * @param request
 * @param response
 */
	private void insertServlet(HttpServletRequest request, HttpServletResponse response) {
		// TODO Auto-generated method stub
		String AssetNo=request.getParameter("AssetNo");
		String Name=request.getParameter("Name");
		String OriginalUnit=request.getParameter("OriginalUnit");
		String OriginalPrincipal=request.getParameter("OriginalPrincipal");
		String NowUnit=request.getParameter("NowUnit");
		String NowPrincipal=request.getParameter("NowPrincipal");
		String Status="调拨";
		Date ChangeTime=SDate.String_To_Date(request.getParameter("ChangeTime"));
		String EquipmentAttach=request.getParameter("EquipmentAttach").trim().equals("")?"无":request.getParameter("EquipmentAttach");
		String Remark=request.getParameter("Remark").trim().equals("")?"无":request.getParameter("Remark");
		AssetChangeInfo assetChangeInfo=new AssetChangeInfo(AssetNo, Name, OriginalUnit, OriginalPrincipal, NowUnit, NowPrincipal, ChangeTime, Status, EquipmentAttach, Remark);
		try {
			DAOFactory.getIChangeInstance().insertChangeInfo(assetChangeInfo);
		} catch (Exception e) {
			// TODO: handle exception
		}
	}
/**
 * 修改查找入口
 * @param request
 * @param response
 */
	private void findupdateServlet(HttpServletRequest request, HttpServletResponse response) {
		// TODO Auto-generated method stub
		String assetno=request.getParameter("updatean");
		AssetChangeInfo a=new AssetChangeInfo();
		a.setAssetNo(assetno);
		try {
			ArrayList<AssetChangeInfo> arrC=DAOFactory.getIChangeInstance().findChangeInfo(a);
			request.setAttribute("arrC",arrC);
			request.getRequestDispatcher("Change_update_info.jsp").forward(request, response);
		} catch (Exception e) {
			// TODO: handle exception
		}
	}
/**
 * 查找匹配项入口
 * @param request
 * @param response
 */
	private void findAssetInfo(HttpServletRequest request, HttpServletResponse response) {
		// TODO Auto-generated method stub
		String AssetNo=request.getParameter("selectid");
		AssetInfo assetinfo=new AssetInfo();
		assetinfo.setAssetNo(AssetNo);
		ArrayList<AssetInfo> arrA=null;
		try {
			arrA=DAOFactory.getIAssetInfoInstance().findAsset(assetinfo);
			request.setAttribute("arrA",arrA);
			request.getRequestDispatcher("Change_new_info.jsp").forward(request, response);
			return;
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
/**
 * 查看入口
 * @param request
 * @param response
 */
	private void lookServlet(HttpServletRequest request, HttpServletResponse response) {
		// TODO Auto-generated method stub
		String assetno=request.getParameter("look");
		AssetChangeInfo a=new AssetChangeInfo();
		a.setAssetNo(assetno);
		try {
			ArrayList<AssetChangeInfo> arrC=DAOFactory.getIChangeInstance().findChangeInfo(a);
			request.setAttribute("arrC",arrC);
			request.getRequestDispatcher("Change_look_info.jsp").forward(request, response);
		} catch (Exception e) {
			// TODO: handle exception
		}
	}
/**
 * 删除入口
 * @param request
 * @param response
 */
	private void delInfoServlet(HttpServletRequest request, HttpServletResponse response) {
		// TODO Auto-generated method stub
		if(request.getParameter("del")!=null) {
			String AssetNo=request.getParameter("del");
			try {
				DAOFactory.getIChangeInstance().delChangeInfo(AssetNo);
			} catch (Exception e) {
				// TODO: handle exception
			}
	}else if(request.getParameter("dels")!=null) {
			String[] AssetNos=request.getParameterValues("user");
			try {
				for(String AssetNo:AssetNos) {
			    DAOFactory.getIChangeInstance().delChangeInfo(AssetNo);
				}
			} catch (Exception e) {
				// TODO: handle exception
			}
	}
	}
/**
 * 更改入口
 * @param request
 * @param response
 */
	private void updateServlet(HttpServletRequest request, HttpServletResponse response) {
		// TODO Auto-generated method stub
		String AssetNo=request.getParameter("AssetNo");
		String NowUnit=request.getParameter("NowUnit");
		Date ChangeTime=SDate.String_To_Date(request.getParameter("ChangeTime"));
		String NowPrincipal=request.getParameter("NowPrincipal");
		String Remark=request.getParameter("Remark");
		String EquipmentAttach=request.getParameter("EquipmentAttach");
		String Status=request.getParameter("Status");
		AssetChangeInfo a=new AssetChangeInfo(NowUnit, NowPrincipal, ChangeTime, Status, EquipmentAttach, Remark);
		a.setAssetNo(AssetNo);
		try {
			DAOFactory.getIChangeInstance().updateChangeInfo(a);
		} catch (Exception e) {
			// TODO: handle exception
		}
	}
/**
 * 查看入口
 * @param request
 * @param response
 */
	private void selectServlet(HttpServletRequest request, HttpServletResponse response) {
		// TODO Auto-generated method stub
		String assetno=null;
		String name=null;
		String dp=null;
		Date ct=null;
		if(request.getParameter("selectid")!=null) {
		    assetno=request.getParameter("an");
			name=request.getParameter("n");
			dp=request.getParameter("dp");
			ct=SDate.String_To_Date(request.getParameter("ct"));
		}
		AssetChangeInfo a=new AssetChangeInfo();
		a.setAssetNo(assetno);a.setName(name);a.setNowUnit(dp);a.setChangeTime(ct);
		try {
			ArrayList<AssetChangeInfo> arrC=DAOFactory.getIChangeInstance().findChangeInfo(a);
			request.setAttribute("arrC", arrC);
			request.getRequestDispatcher("Change_setect_window.jsp").include(request, response);
			return;
		} catch (Exception e) {
			// TODO: handle exception
		}
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}

Change_new_info.jsp

<%@page import="IT.org.Util.SDate"%>
<%@page import="IT.org.VO.AssetInfo"%>
<%@page import="java.util.ArrayList"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html class="no-js">
<head>
		<meta charset="utf-8">
		<title>IT管理系统</title>
		<link rel="stylesheet" href="./css/index.css">
		<link rel="stylesheet" href="css/Assets.css" />
		<link href="img/title.ico" rel="SHORTCUT ICON" />
		<link rel="apple-touch-icon-precomposed" href="img/[email protected]">
		<link rel="stylesheet" href="css/amazeui.min.css"/>
		<link rel="stylesheet" href="css/admin.css">
		<script src="js/jquery.js" type="text/javascript" charset="utf-8"></script>
		<script src="js/jquery.js"></script>
		<link rel="stylesheet" href="css/newlogin.css" />
		<script type="text/javascript" src="js/laydate.js"></script>
        <script type="text/javascript" src="js/laydate/laydate.js"></script>
	</head>
	<style type="text/css">
		#top-logo{
			top: 10px;
		}
		.mytext{
			text-align: center;
		}
	</style>
<body>
		    
  <!-- sidebar end -->
 <div class="admin-content">

    <div class="am-cf am-padding">
      <div class="am-fl am-cf"><strong class="am-text-primary am-text-lg">资产调拨,新增调拨信息</strong></div>
    </div>
 <form action="Change_sqlW?IDselect=1" method="post">
    <div class="am-input-group am-input-group-sm">
				            <input name="selectid" class="am-form-field">
				                <span class="am-input-group-btn">
				                  <button class="am-btn am-btn-default" type="submit">搜索</button>
				                </span>
	</div>
    </form>
    <div class="am-g">
      <div class="am-u-md-6 am-cf">
        <div class="am-fl am-cf">
          <div class="am-btn-toolbar am-fl">
          </div>
        </div>
      </div>
    </div>
 <% 
    ArrayList<AssetInfo> arrA=(ArrayList<AssetInfo>)request.getAttribute("arrA");
    AssetInfo a=null;
    if(arrA==null){
    	 a=new AssetInfo();
    }else{
    	 a=arrA.get(0);
    	
    }  	
    %>
    <div class="am-g">
      <div class="am-u-sm-12">
        <form class="am-form" action="Change_sqlW?insert=1" method="post">     
      <table id="customers" >
<tr>
<td>资产编号</td>
<td><input value="<%=a.getAssetNo()%>" disabled="disabled"/></td>
<input type="hidden" name="AssetNo" value="<%=a.getAssetNo()%>">
<td>设备名称</th>
<td><input value="<%=a.getName()%>" disabled="disabled"/></td>
<input type="hidden" name="Name" value="<%=a.getName()%>">
</tr>
 
<tr>
<td>原使用部门</td>
<td><input name="OriginalUnit" value="<%=a.getDepartment()%>" disabled="disabled">
<input type="hidden" name="OriginalUnit" value="<%=a.getDepartment()%>">
</td>
<td>原负责人</td>
<td><input name="OriginalPrincipal" value="<%=a.getPrincipal()%>" disabled="disabled"/></td>
<input type="hidden" name="OriginalPrincipal" value="<%=a.getPrincipal()%>">
</tr>
 
<tr class="alt">
<td>调拨部门</td>
<td >  <div class="am-form-group am-margin-left am-fl">
              <select name="NowUnit">
				<option selected="true"></option>
                <option value="技术部">技术部</option>
                <option value="采购部">采购部</option>
                <option value="运维部">运维部</option>
                <option value="生产部">生产部</option>
                <option value="人事部">人事部</option>
                <option value="总部">总部</option>
                <option value="卫生部">卫生部</option>
              </select>
               <script>
				var select=document.getElementsByName("NowUnit")[0];
				var options = select.options;
				    for(var i=0;i<options.length;i++){
				    	if (options[i].value == '<%=a.getDepartment()%>')
				    	{
				    		options[i].hidden= true;
				    		 break;}}
			  </script>
            </div></td>
<td>现负责人</td>
<td><input name="NowPrincipal"/></td>
</tr>
 
<tr>
<td >调拨时间</td>
<td width="23%"><input type="text" name="ChangeTime" class="laydate-icon span1-1" id="Calendar" value="<%=SDate.gainDate(SDate.getSystemTime()) %>"  /></td>
<td>设备状态</td>
<td><input name="Status" value="<%=a.getState()%>" disabled="disabled"/></td>
<input type="hidden" name="Status" value="<%=a.getState()%>">
</tr>
 
<tr class="alt">
<td>设备附件</td>
  <td colspan="3"><textarea name="EquipmentAttach"></textarea></td>
<td></td>
<td></td>
</tr>
 
<tr>
<td>备注</td>
  <td colspan="3" width="200px"><textarea name="Remark"></textarea></td>
<td></td>
<td ></td>
</tr>

</table>
          <div class="am-cf">
  <div class="am-fr">
    <ul class="am-pagination">
      <li class="am-active"><input type="submit" value="确定"></li>
      <li class="am-active"><a href="Change_sqlW">取消</a></li>
    </ul>
  </div>
</div>
       <hr />
        </form>
      </div>
    </div>
  </div>
  <!-- content start -->
 

<script src="assets/js/jquery1.11.1.min.js"></script>
<script src="assets/js/modernizr.js"></script>
<script src="assets/js/polyfill/rem.min.js"></script>
<script src="assets/js/polyfill/respond.min.js"></script>
<script src="assets/js/amazeui.legacy.js"></script>

<script src="assets/js/jquery.min.js"></script>
<script src="assets/js/amazeui.min.js"></script>


<script src="assets/js/app.js"></script>

		<script src="js/jquery.min.js"></script>
		<script src="js/amazeui.min.js"></script>
		<script src="js/app.js"></script>
        <script>
        !function(){
        laydate.skin('molv');
        laydate({elem: '#Calendar1'});
        }();
        !function(){
        laydate.skin('molv');
        laydate({elem: '#Calendar'});
        }();
        </script>
</body>


</html>
                           
  

 2.違法なユーザーに対処するには、フィルターを設定します

LoginFilter.java

package IT.org.Filter;

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;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet Filter implementation class LoginFilter
 */
@WebFilter("/*")
public class LoginFilter implements Filter {

    /**
     * Default constructor. 
     */
    public LoginFilter() {
        // 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 req = (HttpServletRequest)request;
		HttpServletResponse rep = (HttpServletResponse)response;
		
		String ctxPath = request.getServletContext().getContextPath();// IT_Asset_Management_System
		String url = req.getRequestURI();// IT_Asset_Management_System/Login.jsp
        String subUrl = url.substring(ctxPath.length() + 1);// Login.jsp
        String didFUrl[]={"Login_Register",".js",".css",
        		".jpeg",".jpg",".png",".ico"};
			boolean flag=true;
			for(String str:didFUrl) {
				if(subUrl.indexOf(str)>-1) {//0时相等
					flag=false;
					break;
				}
			}
		if(flag){
			if(req.getSession().getAttribute("tuser") != null) {//value=true后进入
				System.out.println("登陆后"+subUrl);
					chain.doFilter(request, response);
			}else {
					rep.sendRedirect("Login.jsp");
				}
			}else {
				if(subUrl.indexOf("Login.jsp")>-1||subUrl.indexOf("index.jsp")>-1||subUrl.indexOf("Login_Register")>-1||subUrl.endsWith(".jpg")) chain.doFilter(request, response);
				else rep.sendRedirect("Login.jsp");
			}
	}

	/**
	 * @see Filter#init(FilterConfig)
	 */
	public void init(FilterConfig fConfig) throws ServletException {
		// TODO Auto-generated method stub
	}

}

おすすめ

転載: blog.csdn.net/m0_56233309/article/details/123692460