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)