jsp实践

Posted wljss

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jsp实践相关的知识,希望对你有一定的参考价值。

equipmentList.jsp

<%@page import="java.io.BufferedReader"%>
<%@page import="java.io.FileReader"%>
<%@page import="java.io.*"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="utf-8" %>
<html>
    <head>
        <title>Web程序设计作业2</title>
        <meta charset="utf-8">
        <script src="js/jquery-1.9.1.min.js" type="text/javascript"></script>
        <link rel="stylesheet" type="text/css" href="my_css.css">
        	<script type="text/javascript">
            function deleteRow(r)
            
                var i = r.parentNode.parentNode.rowIndex;
              	//用户安全提示
       			if(confirm("您确定需要删除吗?"))
       			
       				location.href="$pageContext.request.contextPath/EquipmentDeleteServlet?delRow="+i;
       			
            
            function isRightTime(installationTime)
            
                var i;
                if(installationTime.length<19)
                
                    alert("输入的时间字符串过短!");
                    return 0;
                
                /*下面是判断是否是数字*/
                for(i=0;i<=3;++i)if(installationTime[i]<\'0\'||installationTime[i]>\'9\')return 0;
                if(installationTime[4]!=\'-\')return 0;
                for(i=5;i<=6;++i)if(installationTime[i]<\'0\'||installationTime[i]>\'9\')return 0;
                if(installationTime[7]!=\'-\')return 0;
                for(i=8;i<=9;++i)if(installationTime[i]<\'0\'||installationTime[i]>\'9\')return 0;
                if(installationTime[10]!=\' \')return 0;
                for(i=11;i<=12;++i)if(installationTime[i]<\'0\'||installationTime[i]>\'9\')return 0;
                if(installationTime[13]!=\':\')return 0;
                for(i=14;i<=15;++i)if(installationTime[i]<\'0\'||installationTime[i]>\'9\')return 0;
                if(installationTime[16]!=\':\')return 0;
                for(i=17;i<=18;++i)if(installationTime[i]<\'0\'||installationTime[i]>\'9\')return 0;
                if(installationTime.length>19)
                
                    alert("输入的时间字符串过长!");
                    return 0;
                
                
                var nian=0,yue=0,ri=0,shi=0,fen=0,miao=0;
                for(i=0;i<=3;++i)nian=nian*10+(installationTime[i]-\'0\');
                for(i=5;i<=6;++i)yue=yue*10+(installationTime[i]-\'0\');
                for(i=8;i<=9;++i)ri=ri*10+(installationTime[i]-\'0\');
                for(i=11;i<=12;++i)shi=shi*10+(installationTime[i]-\'0\');
                for(i=14;i<=15;++i)fen=fen*10+(installationTime[i]-\'0\');
                for(i=17;i<=18;++i)miao=miao*10+(installationTime[i]-\'0\');
                if(yue>12)
                
                    alert("月份不能超过12!");
                    return 0;
                
                if((yue==1||yue==3||yue==5||yue==7||yue==8||yue==10||yue==12)&&ri>31)
                
                    alert("该月份日期不能超过31!");
                    return 0;
                
                if((yue==4||yue==6||yue==9||yue==11)&&ri>30)
                
                    alert("该月份日期不能超过30!");
                    return 0;
                
                if(yue==2)
                
                    if((nian%100!=0&&nian%4==0)||(nian%100==0&&nian%400==0))//闰年
                    
                        if(ri>29)
                        
                            alert("这一年2月日期不能超过29!");
                            return 0;
                        
                    
                    else
                    
                        if(ri>28)
                        
                            alert("这一年2月日期不能超过28!");
                            return 0;
                        
                    
                
                if(shi>23)
                
                    alert("小时不能超过23!");
                    return 0;
                
                if(fen>59)
                
                    alert("分钟不能超过59!");
                    return 0;
                
                if(miao>59)
                
                    alert("秒数不能超过59!");
                    return 0;
                
                return 1;
            
            function confirmInput1() 
            
                if ( $("#equipmentName1").val() == null || $("#equipmentName1").val() == "" ) 
                
                    alert("设备名称不能为空!");
                    $("#equipmentName1").focus();
                    return false;
                 
                if ( $("#equipmentCode1").val() == null || $("#equipmentCode1").val() == "" ) 
                
                    alert("设备编码不能为空!");
                    $("#equipmentCode1").focus();
                    return false;
                 
                if ( $("#installationTime1").val() == null || $("#installationTime1").val() == "" ) 
                
                    alert("安装时间不能为空!");
                    $("#installationTime1").focus();
                    return false;
                 
                if ( isRightTime( $("#installationTime1").val() )==0) 
                
                    alert("安装时间格式必须是yyyy-MM-dd HH:mm:ss");
                    $("#installationTime1").focus();
                    return false;
                 
                
                if(confirm("您确定需要新增吗?"))
       			
       				location.href="$pageContext.request.contextPath/EquipmentAddServlet?siteName1="+$("#siteName1").val()
       						+"&equipmentName1="+$("#equipmentName1").val()
       						+"&equipmentCode1="+$("#equipmentCode1").val()
       						+"&equipmentCategory1="+$("#equipmentCategory1").val()
       						+"&equipmentType1="+$("#equipmentType1").val()
       						+"&installationTime1="+$("#installationTime1").val()
       						+"&equipmentStatus1="+$("#equipmentStatus1").val();	
       			
                
                $("#siteName1").val("");
                $("#equipmentName1").val("");
                $("#equipmentCode1").val("");
                $("#equipmentCategory1").val("");
                $("#equipmentType1").val("");
                $("#installationTime1").val("");
                $("#equipmentStatus1").val("");
                return true;
            
            function changeDispaly(r)
            
                nowChangingRow = r.parentNode.parentNode.rowIndex;
                var table=document.getElementById("equipmentTable");
                var nowRow=table.rows[nowChangingRow].cells;
                //$("#changeTable").toggle();
                $("#changeTable").show();
                
                
                $("#siteName2").val(nowRow[0].innerHTML);
                $("#equipmentName2").val(nowRow[1].innerHTML);
                $("#equipmentCode2").val(nowRow[2].innerHTML);
                $("#equipmentCategory2").val(nowRow[3].innerHTML);
                $("#equipmentType2").val(nowRow[4].innerHTML);
                $("#installationTime2").val(nowRow[5].innerHTML);
                $("#equipmentStatus2").val(nowRow[6].innerHTML);
            
            var nowChangingRow;
            function confirmInput2() 
            
                if ( $("#equipmentName2").val() == null || $("#equipmentName2").val() == "" ) 
                
                    alert("设备名称不能为空!");
                    $("#equipmentName2").focus();
                    return false;
                 
                if ( $("#equipmentCode2").val() == null || $("#equipmentCode2").val() == "" ) 
                
                    alert("设备编码不能为空!");
                    $("#equipmentCode2").focus();
                    return false;
                 
                if ( $("#installationTime2").val() == null || $("#installationTime2").val() == "" ) 
                
                    alert("安装时间不能为空!");
                    $("#installationTime2").focus();
                    return false;
                 
                if ( isRightTime( $("#installationTime2").val() )==0) 
                
                    alert("安装时间格式必须是yyyy-MM-dd HH:mm:ss");
                    $("#installationTime2").focus();
                    return false;
                 
                
                
                if(confirm("您确定需要修改吗?"))
       			
       				location.href="$pageContext.request.contextPath/EquipmentEditServlet?siteName2="+$("#siteName2").val()
       						+"&equipmentName2="+$("#equipmentName2").val()
       						+"&equipmentCode2="+$("#equipmentCode2").val()
       						+"&equipmentCategory2="+$("#equipmentCategory2").val()
       						+"&equipmentType2="+$("#equipmentType2").val()
       						+"&installationTime2="+$("#installationTime2").val()
       						+"&equipmentStatus2="+$("#equipmentStatus2").val()
       						+"&changeRow="+nowChangingRow;
       			
                $("#changeTable").hide();
                return true;
            

            

            $(function() //初始化
            
                $("#changeTable").toggle();
            );

            
            </script>
        </link>

    </head>

    <body>
        <table id="equipmentTable" border="1">
            <caption>设备信息</caption>
            <thead>
                <tr>
                    <th>站点名称</th><th>设备名称</th><th>设备编码</th><th>设备分类</th><th>设备类型</th><th>安装时间</th><th>设备状态</th><th>操作</th>
                </tr>
					<%
						String path=application.getRealPath("");
						File file = new File(path,"equipments.txt");
						FileInputStream ch = new FileInputStream(file);
						InputStreamReader fr = new InputStreamReader(ch,"UTF-8");  //字符输入流	编码转换
						BufferedReader br = new BufferedReader(fr);  //使文件可按行读取并具有缓冲功能
						String str = br.readLine();	
						while(str!=null)
							
							out.print("<tr><td>");
							for(int i=0;i<str.length();++i)
							
								if(str.charAt(i)==\' \'&&str.charAt(i-3)!=\'-\')
								
									out.print("</td><td>");
								
								else
								
									out.print(str.charAt(i));
								
							
							out.print("</td><td><a href=\'#\' onclick=\'changeDispaly(this);\'>修改</a> <a href=\'#\' onclick=\'deleteRow(this);\'>删除</a></td></tr>");
							str = br.readLine();	
							
						br.close();    //关闭输入流	
					%>     	
            </thead>
        </table>


        <form method="post" id="addTable">
            <fieldset>
            <legend>新增</legend>
            站点名称(*):
                    <select id="siteName1" name="siteName1">  
                    <option value="昌都生态监测站">昌都生态监测站</option>
                    <option value="申扎生态监测站">申扎生态监测站</option>
                    <option value="日喀则生态监测站">日喀则生态监测站</option>
                    </select>
                    <br />  
            设备名称(*):<input type="text" value="" id="equipmentName1" name="equipmentName1"><br /> 
            设备编码(*):<input type="text" value="" id="equipmentCode1" name="equipmentCode1"><br />
            设备分类(*):
                    <select id="equipmentCategory1" name="equipmentCategory1">  
                    <option value="土壤">土壤</option>
                    <%
                    	for(int i=1;i<=10;++i)out.print("<option value=\'1\'>"+i+"</option>");
					%> 
                    </select>
                    <br /> 
            设备类型(*):
                    <select id="equipmentType1" name="equipmentType1">  
                    <option value="冻土检测">冻土检测</option>
                    <%
                    	for(int i=1;i<=10;++i)out.print("<option value=\'1\'>"+i+"</option>");
					%> 
                    </select>
                    <br /> 
            安装时间(*):<input type="text" value="" id="installationTime1" name="installationTime1"><br /><br /> 
            设备状态(*)
                    <select id="equipmentStatus1" name="equipmentStatus1">  
                    <option value="正常">正常</option>
                    <option value="异常">异常</option>
                    </select>
                    <br /> 
                <input type="button" id="button1" value="确定" onclick="confirmInput1();" />
            </fieldset>
        </form>
		<form method="POST" id="changeTable">
            <fieldset>
            <legend>修改</legend>
            站点名称(*):
                    <select id="siteName2">  
                    <option value="昌都生态监测站">昌都生态监测站</option>
                    <option value="申扎生态监测站">申扎生态监测站</option>
                    <option value="日喀则生态监测站">日喀则生态监测站</option>
                    </select>
                    <br />  
            设备名称(*):<input type="text" value="" id="equipmentName2"><br /> 
            设备编码(*):<input type="text" value="" id="equipmentCode2"><br />
            设备分类(*):
                    <select id="equipmentCategory2">  
                    <option value="土壤">土壤</option>
                    <%
                    	for(int i=1;i<=10;++i)out.print("<option value=\'1\'>"+i+"</option>");
					%> 
                    </select>
                    <br /> 
            设备类型(*):
                    <select id="equipmentType2">  
                    <option value="冻土检测">冻土检测</option>
                    <%
                    	for(int i=1;i<=10;++i)out.print("<option value=\'1\'>"+i+"</option>");
					%> 
                    </select>
                    <br /> 
            安装时间(*):<input type="text" value="" id="installationTime2"><br /><br /> 
            设备状态(*)
                    <select id="equipmentStatus2">  
                    <option value="正常">正常</option>
                    <option value="异常">异常</option>
                    </select>
                    <br /> 
                <input type="button" id="button2" value="确定" onclick="confirmInput2();" />
            </fieldset>
        </form>


    </body>

</html>

EquipmentAddServlet.java

package myServlet;

import java.io.*;

import javax.servlet.ServletContext;
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 javax.servlet.http.HttpSession;
@WebServlet("/EquipmentAddServlet")
public class EquipmentAddServlet extends HttpServlet 
	private static final long serialVersionUID = 1L;
    public EquipmentAddServlet() 
    
        super();
    
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
	
		HttpSession session = request.getSession();
			
		request.setCharacterEncoding("utf-8");
		String siteName1=request.getParameter("siteName1");
		String equipmentName1=request.getParameter("equipmentName1");
		String equipmentCode1=request.getParameter("equipmentCode1");
		String equipmentCategory1=request.getParameter("equipmentCategory1");
		String equipmentType1=request.getParameter("equipmentType1");
		String installationTime1=request.getParameter("installationTime1");
		String equipmentStatus1=request.getParameter("equipmentStatus1");
		
		Integer cntAdd=(Integer)(session.getAttribute("cntAdd"));
		if(cntAdd==null)cntAdd=new Integer(0);
		cntAdd=cntAdd+1;
		session.setAttribute("cntAdd",cntAdd);
		session.setAttribute("siteNameAdd"+cntAdd.toString(),siteName1);
		session.setAttribute("equipmentNameAdd"+cntAdd.toString(),equipmentName1);
		session.setAttribute("equipmentCodeAdd"+cntAdd.toString(),equipmentCode1);
		session.setAttribute("equipmentCategoryAdd"+cntAdd.toString(),equipmentCategory1);
		session.setAttribute("equipmentTypeAdd"+cntAdd.toString(),equipmentType1);
		session.setAttribute("installationTimeAdd"+cntAdd.toString(),installationTime1);
		session.setAttribute("equipmentStatusAdd"+cntAdd.toString(),equipmentStatus1);
		
		ServletContext context = getServletContext();
		String path = context.getRealPath("/equipments.txt");
		File file = new File(path);
		
		FileInputStream fis = new FileInputStream(file);
		InputStreamReader isr = new InputStreamReader(fis,"UTF-8");
		BufferedReader br = new BufferedReader(isr); 
			
		int cnt=1;
		String []tmp=new String[105];
		tmp[1] = br.readLine();
		while(tmp[cnt]!=null)
			
			tmp[++cnt] = br.readLine();
			
		br.close();
		FileOutputStream fos = new FileOutputStream(file);
		OutputStreamWriter osw = new OutputStreamWriter(fos,"UTF-8");
		BufferedWriter bw = new BufferedWriter(osw);
		for(int i=1;i<cnt;++i)bw.write(tmp[i]+"\\n");
		bw.write(siteName1+" "+equipmentName1+" "+equipmentCode1+" "+equipmentCategory1+" "+equipmentType1+" "+installationTime1+" "+equipmentStatus1);
		bw.close();
		response.sendRedirect(request.getHeader("referer"));
	
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
		doGet(request, response);
	


EquipmentDeleteServlet.java

package myServlet;

import java.io.*;

import javax.servlet.ServletContext;
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 javax.servlet.http.HttpSession;
@WebServlet("/EquipmentDeleteServlet")
public class EquipmentDeleteServlet extends HttpServlet 
	private static final long serialVersionUID = 1L;
    public EquipmentDeleteServlet() 
    
        super();
    
    int Pos,Row;
    String []tmp=new String[105];
    public String myRead(int beginPos)
    
    	String t=new String("");
    	for(int i=beginPos;i<tmp[Row].length();++i)
    	
    		Pos=i;
    		if(tmp[Row].charAt(i)==\' \'&&tmp[Row].charAt(i-3)!=\'-\')break;
    		t=t+tmp[Row].charAt(i);
    	
		return t;
    
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
	
		
		HttpSession session = request.getSession();
		request.setCharacterEncoding("utf-8");
		String delRow=request.getParameter("delRow");
		
		ServletContext context = getServletContext();
		String path = context.getRealPath("/equipments.txt");
		File file = new File(path);	
		
		FileInputStream fis = new FileInputStream(file);
		InputStreamReader isr = new InputStreamReader(fis,"UTF-8");
		BufferedReader br = new BufferedReader(isr);		
		
		int cnt=1;
		tmp[1] = br.readLine();
		while(tmp[cnt]!=null)
			
			tmp[++cnt] = br.readLine();
			
		br.close();
		FileOutputStream fos = new FileOutputStream(file);
		OutputStreamWriter osw = new OutputStreamWriter(fos,"UTF-8");
		BufferedWriter bw = new BufferedWriter(osw);
		for(int i=1;i<cnt;++i)
			if(i!=Integer.parseInt(delRow))bw.write(tmp[i]+"\\n");
		
		Integer cntDelete=(Integer)(session.getAttribute("cntDelete"));
		if(cntDelete==null)cntDelete=new Integer(0);
		cntDelete=cntDelete+1;
		Pos=-1;Row=Integer.parseInt(delRow);
		
		String siteName1=myRead(Pos+1);
		String equipmentName1=myRead(Pos+1);
		String equipmentCode1=myRead(Pos+1);
		String equipmentCategory1=myRead(Pos+1);
		String equipmentType1=myRead(Pos+1);
		String installationTime1=myRead(Pos+1);
		String equipmentStatus1=myRead(Pos+1);
		session.setAttribute("cntDelete",cntDelete);
		session.setAttribute("siteNameDelete"+cntDelete.toString(),siteName1);
		session.setAttribute("equipmentNameDelete"+cntDelete.toString(),equipmentName1);
		session.setAttribute("equipmentCodeDelete"+cntDelete.toString(),equipmentCode1);
		session.setAttribute("equipmentCategoryDelete"+cntDelete.toString(),equipmentCategory1);
		session.setAttribute("equipmentTypeDelete"+cntDelete.toString(),equipmentType1);
		session.setAttribute("installationTimeDelete"+cntDelete.toString(),installationTime1);
		session.setAttribute("equipmentStatusDelete"+cntDelete.toString(),equipmentStatus1);
		
		bw.close();
		response.sendRedirect(request.getHeader("referer"));
	
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
		doGet(request, response);
	



EquipmentEditServlet.java

package myServlet;

import java.io.*;

import javax.servlet.ServletContext;
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 javax.servlet.http.HttpSession;
@WebServlet("/EquipmentEditServlet")
public class EquipmentEditServlet extends HttpServlet 
	private static final long serialVersionUID = 1L;
    public EquipmentEditServlet() 
    
        super();
    
    int Pos,Row;
    String []tmp=new String[105];
    public String myRead(int beginPos)
    
    	String t=new String("");
    	for(int i=beginPos;i<tmp[Row].length();++i)
    	
    		Pos=i;
    		if(tmp[Row].charAt(i)==\' \'&&tmp[Row].charAt(i-3)!=\'-\')break;
    		t=t+tmp[Row].charAt(i);
    	
		return t;
    
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
	
		HttpSession session = request.getSession();
		request.setCharacterEncoding("utf-8");
		String changeRow=request.getParameter("changeRow");
		String siteName2=request.getParameter("siteName2");
		String equipmentName2=request.getParameter("equipmentName2");
		String equipmentCode2=request.getParameter("equipmentCode2");
		String equipmentCategory2=request.getParameter("equipmentCategory2");
		String equipmentType2=request.getParameter("equipmentType2");
		String installationTime2=request.getParameter("installationTime2");
		String equipmentStatus2=request.getParameter("equipmentStatus2");
		
		ServletContext context = getServletContext();
		String path = context.getRealPath("/equipments.txt");
		File file = new File(path);
		
		
		FileInputStream fis = new FileInputStream(file);
		InputStreamReader isr = new InputStreamReader(fis,"UTF-8");
		BufferedReader br = new BufferedReader(isr);
		
		
		
		int cnt=1;
		tmp[1] = br.readLine();
		while(tmp[cnt]!=null)
			
			tmp[++cnt] = br.readLine();
			
		br.close();
		FileOutputStream fos = new FileOutputStream(file);
		OutputStreamWriter osw = new OutputStreamWriter(fos,"UTF-8");
		BufferedWriter bw = new BufferedWriter(osw);
		for(int i=1;i<cnt;++i)
			if(i!=Integer.parseInt(changeRow))bw.write(tmp[i]+"\\n");
			else bw.write(siteName2+" "+equipmentName2+" "+equipmentCode2+" "+equipmentCategory2+" "+equipmentType2+" "+installationTime2+" "+equipmentStatus2+"\\n");
		
		
		Integer cntChange=(Integer)(session.getAttribute("cntChange"));
		if(cntChange==null)cntChange=new Integer(0);
		cntChange=cntChange+1;
		Pos=-1;Row=Integer.parseInt(changeRow);
		
		String siteName1=myRead(Pos+1);
		String equipmentName1=myRead(Pos+1);
		String equipmentCode1=myRead(Pos+1);
		String equipmentCategory1=myRead(Pos+1);
		String equipmentType1=myRead(Pos+1);
		String installationTime1=myRead(Pos+1);
		String equipmentStatus1=myRead(Pos+1);
		session.setAttribute("cntChange",cntChange);
		session.setAttribute("siteNameChangeBefore"+cntChange.toString(),siteName1);
		session.setAttribute("equipmentNameChangeBefore"+cntChange.toString(),equipmentName1);
		session.setAttribute("equipmentCodeChangeBefore"+cntChange.toString(),equipmentCode1);
		session.setAttribute("equipmentCategoryChangeBefore"+cntChange.toString(),equipmentCategory1);
		session.setAttribute("equipmentTypeChangeBefore"+cntChange.toString(),equipmentType1);
		session.setAttribute("installationTimeChangeBefore"+cntChange.toString(),installationTime1);
		session.setAttribute("equipmentStatusChangeBefore"+cntChange.toString(),equipmentStatus1);
		
		session.setAttribute("siteNameChangeAfter"+cntChange.toString(),siteName2);
		session.setAttribute("equipmentNameChangeAfter"+cntChange.toString(),equipmentName2);
		session.setAttribute("equipmentCodeChangeAfter"+cntChange.toString(),equipmentCode2);
		session.setAttribute("equipmentCategoryChangeAfter"+cntChange.toString(),equipmentCategory2);
		session.setAttribute("equipmentTypeChangeAfter"+cntChange.toString(),equipmentType2);
		session.setAttribute("installationTimeChangeAfter"+cntChange.toString(),installationTime2);
		session.setAttribute("equipmentStatusChangeAfter"+cntChange.toString(),equipmentStatus2);
		
		bw.close();
		response.sendRedirect(request.getHeader("referer"));
	
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
		doGet(request, response);
	



OperLists.jsp

<%@page import="java.io.BufferedReader"%>
<%@page import="java.io.FileReader"%>
<%@page import="java.io.*"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="utf-8" %>
<html>
    <head>
        <title>历史操作信息</title>
        <meta charset="utf-8">
        <script src="js/jquery-1.9.1.min.js" type="text/javascript"></script>
        <link rel="stylesheet" type="text/css" href="my_css.css">
        	<script type="text/javascript">
            
            
            </script>
        </link>

    </head>

    <body>
    	<table id="123" border="1">
    		<caption>新增设备列表</caption>
			<tr>
	        	<th>站点名称</th><th>设备名称</th><th>设备编码</th><th>设备分类</th><th>设备类型</th><th>安装时间</th><th>设备状态</th>
	        </tr>
			<%
				Integer cntAdd=(Integer)(session.getAttribute("cntAdd"));
				if(cntAdd==null)cntAdd=new Integer(0);
				for(int i=1;i<=cntAdd.intValue();++i)
				
					out.print("<tr>");
					String str=(String)(session.getAttribute("siteNameAdd"+i));
					out.print("<td>"+str+"</td>");
					str=(String)(session.getAttribute("equipmentNameAdd"+i));
					out.print("<td>"+str+"</td>");
					str=(String)(session.getAttribute("equipmentCodeAdd"+i));
					out.print("<td>"+str+"</td>");
					str=(String)(session.getAttribute("equipmentCategoryAdd"+i));
					out.print("<td>"+str+"</td>");
					str=(String)(session.getAttribute("equipmentTypeAdd"+i));
					out.print("<td>"+str+"</td>");
					str=(String)(session.getAttribute("installationTimeAdd"+i));
					out.print("<td>"+str+"</td>");
					str=(String)(session.getAttribute("equipmentStatusAdd"+i));
					out.print("<td>"+str+"</td>");
					out.print("</tr>");
				
			%>
		</table>
		<table id="equipmentTable" border="1">
	    	<caption>修改设备列表</caption>
			<tr>
	        	<th>站点名称</th><th>设备名称</th><th>设备编码</th><th>设备分类</th><th>设备类型</th><th>安装时间</th><th>设备状态</th><th>版本</th>
	        </tr>
			<%
			
				Integer cntChange=(Integer)(session.getAttribute("cntChange"));
				if(cntChange==null)cntChange=new Integer(0);
				for(int i=1;i<=cntChange.intValue();++i)
				
					out.print("<tr>");
					String str=(String)(session.getAttribute("siteNameChangeBefore"+i));
					out.print("<td>"+str+"</td>");
					str=(String)(session.getAttribute("equipmentNameChangeBefore"+i));
					out.print("<td>"+str+"</td>");
					str=(String)(session.getAttribute("equipmentCodeChangeBefore"+i));
					out.print("<td>"+str+"</td>");
					str=(String)(session.getAttribute("equipmentCategoryChangeBefore"+i));
					out.print("<td>"+str+"</td>");
					str=(String)(session.getAttribute("equipmentTypeChangeBefore"+i));
					out.print("<td>"+str+"</td>");
					str=(String)(session.getAttribute("installationTimeChangeBefore"+i));
					out.print("<td>"+str+"</td>");
					str=(String)(session.getAttribute("equipmentStatusChangeBefore"+i));
					out.print("<td>"+str+"</td>");
					out.print("<td>"+"旧值"+"</td>");
					out.print("</tr>");
					
					out.print("<tr>");
					str=(String)(session.getAttribute("siteNameChangeAfter"+i));
					out.print("<td>"+str+"</td>");
					str=(String)(session.getAttribute("equipmentNameChangeAfter"+i));
					out.print("<td>"+str+"</td>");
					str=(String)(session.getAttribute("equipmentCodeChangeAfter"+i));
					out.print("<td>"+str+"</td>");
					str=(String)(session.getAttribute("equipmentCategoryChangeAfter"+i));
					out.print("<td>"+str+"</td>");
					str=(String)(session.getAttribute("equipmentTypeChangeAfter"+i));
					out.print("<td>"+str+"</td>");
					str=(String)(session.getAttribute("installationTimeChangeAfter"+i));
					out.print("<td>"+str+"</td>");
					str=(String)(session.getAttribute("equipmentStatusChangeAfter"+i));
					out.print("<td>"+str+"</td>");
					out.print("<td>"+"新值"+"</td>");
					out.print("</tr>");
				
				
			%>
		</table>
		<table id="equipmentTable" border="1">
	    	<caption>删除设备列表</caption>
			<tr>
	        	<th>站点名称</th><th>设备名称</th><th>设备编码</th><th>设备分类</th><th>设备类型</th><th>安装时间</th><th>设备状态</th>
	        </tr>
			<%
				Integer cntDelete=(Integer)(session.getAttribute("cntDelete"));
				if(cntDelete==null)cntDelete=new Integer(0);
				for(int i=1;i<=cntDelete.intValue();++i)
				
					out.print("<tr>");
					String str=(String)(session.getAttribute("siteNameDelete"+i));
					out.print("<td>"+str+"</td>");
					str=(String)(session.getAttribute("equipmentNameDelete"+i));
					out.print("<td>"+str+"</td>");
					str=(String)(session.getAttribute("equipmentCodeDelete"+i));
					out.print("<td>"+str+"</td>");
					str=(String)(session.getAttribute("equipmentCategoryDelete"+i));
					out.print("<td>"+str+"</td>");
					str=(String)(session.getAttribute("equipmentTypeDelete"+i));
					out.print("<td>"+str+"</td>");
					str=(String)(session.getAttribute("installationTimeDelete"+i));
					out.print("<td>"+str+"</td>");
					str=(String)(session.getAttribute("equipmentStatusDelete"+i));
					out.print("<td>"+str+"</td>");
					out.print("</tr>");
				
			%>
		</table>
    </body>

</html>

JSP知识

五、JSP概述及最佳实践
1、更改MyEclipse生成的JSP模板。模板文件与Servlet.java(Servlet模板文件)很近。
2、学好JSP的关键:JSP就是Servlet。一定要记住JSP中的东东会出现在Servlet的什么地方?
3、最佳实践:利用Servlet作为控制器;JSP用于页面显示。

六、JSP语法
1、模板元素:JSP页面中的HTML内容。
2、JSP中的脚本表达式:
作用:输出内容到页面上。
语法:<%=java表达式%>
“java表达式”会原封不动的出现在JSP对应的Servlet的service方法中的out.println(java表达式);参数中
java表达式后面不能有分号。
3、JSP脚本片段
作用:在JSP中嵌入多行java代码。
语法:
<%
多行java代码
%>
多行java代码,会原封不动地出现在对应Serlvet的service方法中。
4、JSP声明
作用:定义成员。
语法:<%! 你的成员%>
声明代码会出现在对应的类中。
5、JSP中注释
语法:<%--这是注释--%>

七、JSP的指令:3个
1、作用:给JSP引擎用的(Tomcat)。不产生任何输出。
2、语法:<%@ 指令名称 指令属性1="值1" ...%>
a、page指令
属性:
language:指示使用脚本语言。默认是java,目前只支持java。
extends:指示JSP对应的Servlet的父类是谁。不要修改。
*import:导入JSP中的java脚本中用到的类。
*session:指示当前页面支不支持会话(拿不到HttpSession对象的引用session)。默认值是true。可选值true|false.
buffer:字符输出流的缓存。默认值是8Kb。可选值none|8Kb|sizeKb
autoFlush:自动刷新缓存。
isThreadSafe:指示JSP对应的Servlet是否实现SingleThreadModel这个废物。false是实现,true是不实现。默认是true。
*errorPage:(转发技术)指示提示错误的页面的路径。如果以"/"开头表示绝对路径。
配置全局错误提示页面:
web.xml
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/error.jsp</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/404.jsp</location>
</error-page>
*isErrorPage:指示是否产生exception对象的引用。true|false.默认值是false
*contentType:response.setContentType("text/html;charset=UTF-8");
*pageEncoding:指示翻译JSP时查的码表。
pageEncoding有2个作用:第一告知引擎查哪个码表读JSP文件进行翻译;第二,以指定的编码输出字符,并通知客户端以什么编码显示
*isELIgnored:是否忽略EL表达式。默认值是false。可选值是true\false

b、include指令:(能用静态不用动态)
属性:file,目标资源的路径。如果以"/"开头表示绝对路径。
静态包含:include指令就是静态包含。
动态包含:<jsp:include page=""/>
c、taglib指令
作用:引入外部的标签
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
八、JSP的九大隐式对象
*****九、域对象的概念
十、发现JSP中的错误

一、九大隐式对象:
1、九大隐式对象在JSP的脚本中可以直接拿来用的对象。
request:HttpServletRequest
response:HttpServletResponse
session:HttpSession(通过page指令的session进行开关)
application:ServletContext
config:ServletConfig
page:this(JSP页面对应的Servlet对象)
exception:Throwable(通过page指令的isErrorPage进行开关)

out:javax.servlet.jsp.JspWriter(把他看做response.getWriter())
pageContext:javax.servlet.jsp.PageContext

1、out

*****2、pageContext
a、获取其他8大隐式对象
b、本身是一个域对象(当前页面范围)。还能操作其他3个域对象中的数据(ServletContext HttpSession ServletRequest);
还能从四个域中:依次从page request session application查找指定名称的对象
b.1:操作本身域中(page范围)的数据的方法:
Object getAttribute(String name)
void setAttribute(String name,Object value)
void removeAttribute(String name)
b.2:操作其他域对象中的数据:参数int scope:PageContext--->PAGE_SCOPE REQUEST_SCOPE SESSION_SCOPE APPLICATION_SCOPE
Object getAttribute(String name,int scope)
void setAttribute(String name,Object value,int scope)
void removeAttribute(String name,int scope)
例如:以下=表示作用等效
pageContext.setAttribute("p","ppp",PageContext.PAGE_SCOPE)=pageContext.setAttribute("p","ppp")
pageContext.setAttribute("a","aaa",PageContext.SESSION_SCOPE)=session.setAttribute("a","aaa")
b.3:还能从四个域中:依次从page request session application查找指定名称的对象
Object findAttribute(String name)
c、提供了请求转发和包含的方便方法。
pageContext.forward("/4.jsp");
pageContext.include(String path)

*****二、域对象的概念
page:PageContext域对象。(JSP中才有的)
request:ServletRequest域对象。
session:HttpSession域对象。
application:ServletContext域对象。

三、JSP中的错误
插入点:
JSP中的常用的动作元素(内置标签):
1、<jsp:include/>:动态包含。
page:被包含的页面地址。以"/" 表示绝对路径
2、<jsp:forward/>:实现请求转发
page:转发的目标地址。以"/" 表示绝对路径
3、<jsp:param/>:参数
<jsp:forward page="/4.jsp">
<jsp:param value="shanjie" name="username"/>
<jsp:param value="123" name="password"/>
</jsp:forward>

以上是关于jsp实践的主要内容,如果未能解决你的问题,请参考以下文章

用 JSP 连接 MySQL 登入注册项目实践(JSP + HTML + CSS + MySQL)

Spring Boot 最佳实践集成Jsp与生产环境部署

基于java+jsp+ssm创新实践学分认定系统

JSP知识

在类似 Web 应用程序之间共享 Web 层代码(控制器和 JSP)的最佳实践

实训感受基于MVC模式的Jsp购书系统的项目实践