JSP 程序設(shè)計(jì)(一)
班級(jí):170408
學(xué)號(hào):20172693
姓名:劉馨雨
一、 實(shí)驗(yàn)題目:
JSP 語(yǔ)法。
二、 實(shí)驗(yàn)?zāi)康模?/p>
1.掌握如何使用 Tomcat 的基礎(chǔ)知識(shí),為以后實(shí)驗(yàn)打下基礎(chǔ)。
2.掌握怎樣 JSP 頁(yè)面中使用成員變量,怎樣 Java 程序片,Java 表達(dá)式; 3.掌握怎樣在 JSP 頁(yè)面中使用 include 標(biāo)記動(dòng)態(tài)加載文件,使用 forward實(shí)現(xiàn)頁(yè)面轉(zhuǎn)向。
三、 實(shí)驗(yàn)內(nèi)容:
(1 1 )
程序代碼:
1、inputWord.jsp <%@ page language= "java"
contentType= "text/html; charset=UTF-8"
pageEncoding= "UTF-8" %> <!DOCTYPE html> <html> <head> <meta charset= "UTF-8" > <title>輸入單詞</title> <style type= "text/css" >
input[type=text] {
width: 20% ;
padding: 12px 20px ;
margin: 8px 0 ;
box-sizing: border-box ;
border: 3px solid #ccc ;
-webkit-transition: 0.5s ;
transition: 0.5s ;
outline: none ;
}
input[type=text] :focus
{
border: 3px solid #555 ;
}
input[type=text], , select {
width: 20% ;
padding: 12px 20px ;
margin: 8px 0 ;
display: inline-block ;
border: 1px solid #ccc ;
border-radius: 4px ;
box-sizing: border-box ;
}
input[type=submit] {
width: 20% ;
background-color: #4CAF50 ;
color: white ;
padding: 14px 20px ;
margin: 8px 0 ;
border: none ;
border-radius: 4px ;
cursor: pointer ;
}
input[type=submit] :hover
{
background-color: #45a049 ;
} </style> </head>
<body style="background: url("bg.jpg") ;background-repeat: no-repeat ;background-size: cover ;">
<div align= "center"
style="margin-top: 200px ;">
<form action = "showDictionary.jsp"
method = "get"
name = "form" >
請(qǐng)輸入單詞(用空格分隔):<input type = "text"
name = "word" ><br/><br/>
<input type = "submit"
value = "送出"
name = "submit" >
</form> </div>
</body>
</html>
2、showDictionary.jsp <%@ page language= "java"
contentType= "text/html; charset=UTF-8"
pageEncoding= "UTF-8" %> <%@ page import = "java.util.TreeSet"
%> <%@ page import = "java.util.Iterator"
%> <!DOCTYPE html> <html> <head> <meta charset= "UTF-8" > <title>顯示單詞</title> <style type= "text/css" >
.font
{
font-size: 40px ;
color: white ;
text-shadow: 5px 5px 5px black, 0px 0px 2px black ;
letter-spacing: 10px ;
} </style> </head>
<body style="background: url("bg.jpg") ;background-repeat: no-repeat ;background-size: cover ;"> <div align= "center"
style="margin-top: 250px ;" class = "font" > <p>
<i>
<%!
TreeSet<String> dictionary = new TreeSet<String>();
public void addWord(String s) {
String word[] = s.split(" ");
for( int i = 0; i < word.length; i++){
dictionary.add(word[i]);
}
}
%>
<%
String str = request.getParameter("word");
addWord(str);
Iterator<String> t = dictionary.iterator();
while(t.hasNext()){
String word = t.next();
out.println(" " + word);
}
%>
</i> </p> </div> </body>
</html>
3、giveFileName.jsp <%@ page language= "java"
contentType= "text/html; charset=UTF-8"
pageEncoding= "UTF-8" %> <!DOCTYPE html> <html> <head> <meta charset= "UTF-8" > <title>讀取文件的名稱</title> <style type= "text/css" >
.font
{
font-size: 20px ;
color: black ;
text-shadow: 5px 5px 5px black, 0px 0px 2px black ;
letter-spacing: 5px ;
} </style> </head>
<body style="background: url("bg.jpg") ;background-repeat: no-repeat ;background-size: cover ;"> <div align= "center"
style="margin-top: 200px ;" class = "font" > <p>
<i>
讀取名字是 ok.txt 的文件:
<br/>
<jsp:include page = "readFile.jsp" >
<jsp:param name = "file"
value = "E:\\JavaWork\\ok.txt" />
</jsp:include>
</i> </p>
</div> </body>
</html>
4、readFile.jsp <%@ page language= "java"
contentType= "text/html; charset=UTF-8"
pageEncoding= "UTF-8" %> <%@ page import = "java.io.*"
%>
<!DOCTYPE html> <html> <head> <meta charset= "UTF-8" > <title>讀取文件</title> </head>
<body>
<br/>This is readFile.jsp!<br/><br/>
<%
String s= request.getParameter("file");
File f = new File(s);
if(f.exists()){
out.println("文件" + s + "的內(nèi)容:");
FileReader in = new FileReader(f);
BufferedReader bIn= new BufferedReader(in);
String line = null;
while((line = bIn.readLine()) != null){
out.println("<br/><br/>" + line);
}
}
else{
%>
<jsp:forward page = "error.jsp" >
<jsp:param name= "message"
value = "File Not Found!!!" />
</jsp:forward>
<%
}
%>
</body>
</html>
5、error.jsp <%@ page language= "java"
contentType= "text/html; charset=UTF-8"
pageEncoding= "UTF-8" %> <!DOCTYPE html> <html> <head> <meta charset= "UTF-8" > <title>錯(cuò)誤</title> <style type= "text/css" >
.font
{
font-size: 30px ;
color: black ;
text-shadow: 5px 5px 5px black, 0px 0px 2px black ;
letter-spacing: 5px ;
} </style> </head>
<body style="background: url("bg.jpg") ;background-repeat: no-repeat ;background-size: cover ;"> <div align= "center"
style="margin-top: 200px ;" class = "font" > <p>
<i>
This is error.jsp!<br/><br/>
<%
String s= request.getParameter("message");
out.println("本頁(yè)面得到的信息:" + s);
%>
</i> </p> </div> </body>
</html>
(2 2 )
程序運(yùn)行結(jié)果截圖:
四、實(shí)驗(yàn)心得體會(huì)
本次實(shí)驗(yàn)掌握了 jsp 界面的基本結(jié)構(gòu),能夠在初始界面輸入一系列未排序的單詞或字母,提交給另一個(gè)界面并排序。
學(xué)會(huì)用 TreeSet。TreeSet()是使用二叉樹的原理對(duì)新 ADD()的對(duì)象按照指定的順序排序(升序、降序),每增加一個(gè)對(duì)象都會(huì)進(jìn)行排序,將對(duì)象插入二叉樹指定的位置,在 Integer 和 String 對(duì)象都可以進(jìn)行默認(rèn)的 TreeSet 排序。排列無(wú)序、不可重復(fù),內(nèi)部使用 TreeMap 的 SortedSet。
經(jīng)過(guò)課下美化了界面,豐富用戶體驗(yàn)。
JSP 程序設(shè)計(jì)( 二 )
班級(jí):170408
學(xué)號(hào):20172693
姓名:劉馨雨
一、 實(shí)驗(yàn)題目:
JSP 內(nèi)置對(duì)象。
二、 實(shí)驗(yàn)?zāi)康模?/p>
1、通過(guò)本次實(shí)驗(yàn)使學(xué)生掌握 JSP 內(nèi)置對(duì)象的基本語(yǔ)法,能夠應(yīng)用 request、response、out 等 JSP 內(nèi)置對(duì)象的語(yǔ)法進(jìn)行動(dòng)態(tài)網(wǎng)站編程。
三、 實(shí)驗(yàn)內(nèi)容:
【實(shí)驗(yàn) 1 】
注冊(cè)頁(yè)面 編寫一個(gè)用戶 JSP 注冊(cè)頁(yè)面,其中包含姓名(text)、密碼(password)、年齡(select)、性別(radio)、愛(ài)好(checkbox)、自我介紹(textarea)、確認(rèn)(submit)、重置(reset)表單標(biāo)簽,并請(qǐng)求到另一個(gè) JSP 頁(yè)面,在這個(gè)頁(yè)面中接收信息,并將用戶填寫過(guò)的信息顯示出來(lái)。
(1 1 )
程序代碼:
1、login.jsp <%@ page language= "java"
contentType= "text/html; charset=UTF-8"
pageEncoding= "UTF-8" %> <%@ page import= "java.io.*,java.util.*"
%> <!DOCTYPE html> <html>
<head> <meta charset= "UTF-8" > <title>注冊(cè)頁(yè)面</title> <style type= "text/css" >
.font
{
font-size: 20px ;
color: black ;
text-shadow: 5px 5px 5px black, 0px 0px 2px black ;
letter-spacing: 5px ;
}
</style> </head> <body style="background: url("bg.jpg") ;background-repeat: no-repeat ;background-size: cover ;">
<div align= "center"
style="margin-top: 170px ;" class = "font" ><p><i>
注冊(cè)<br/>
<form action = "main.jsp"
method = "post"
name = "form"
>
<table>
<tr>
<td>姓名</td>
<td><input type= "text"
name= "name" ></input>*</td>
</tr>
<tr>
<td>密碼</td>
<td><input type= "password"
name= "password" /></td>
</tr>
<tr>
<td>性別</td>
<td><input type= "radio"
value= "男"
name= "gender" />男<input type= "radio"
value= "女"
name= "gender" />女</td>
</tr>
<tr>
<td>年齡</td>
<td>
<select name= "age" >
<script>
for( var i=1;i<=100;i++){
document.write("<option value=""+i+"">"+i+"</option>");
}
</script>
</select>
</td>
</tr>
<tr>
<td>愛(ài)好</td>
<td><input type= "checkbox"
value= "爬山"
name= "hobby" />爬山<input type= "checkbox"
value= "K 歌"
name= "hobby" />K歌<input type= "checkbox"
value= "看書"
name= "hobby" />看書</td>
</tr>
<tr>
<td>自我介紹</td>
<td><textarea type= "text"
name= "introduction"
rows= "3"
cols= "50" ></textarea></td>
</tr>
<tr>
<td></td>
<td colspan= "2"
align= "center" >
<input type= "submit"
name= "submit"
value= "確認(rèn)" >      <input type= "reset"
name= "reset"
value= "重置" >
</td>
</tr>
</table>
</form>
</i></p></div> </body>
</html>
2、main.jsp <%@ page language= "java"
contentType= "text/html; charset=UTF-8"
pageEncoding= "UTF-8" %> <!DOCTYPE html> <html> <head> <meta charset= "UTF-8" > <title>主頁(yè)面</title> <style type= "text/css" >
.font
{
font-size: 20px ;
color: black ;
text-shadow: 5px 5px 5px black, 0px 0px 2px black ;
letter-spacing: 5px ;
}
.font1
{
font-size: 50px ;
color: white ;
text-shadow: 5px 5px 5px black, 0px 0px 2px black ;
letter-spacing: 50px ;
} </style> </head>
<body> <body style="background: url("bg.jpg") ;background-repeat: no-repeat ;background-size: cover ;">
<div style="margin-top: 80px ;margin-left: 600px ;" class = "font1" >信
息</div><br/><br/><br/>
<div align= "left"
style="margin-top: 30px ;margin-left: 550px ;" class = "font" ><p><i>
<%
request.setCharacterEncoding("UTF-8");
String name = request.getParameter("name");
if("".equals(name)){
response.sendRedirect("login.jsp");
}
out.println("姓名:" + name + "<br/>");
String password = request.getParameter("password");
out.println("密碼:" + password + "<br/>");
String gender = request.getParameter("gender");
out.println("性別:" + gender + "<br/>");
String age = request.getParameter("age");
out.println("年齡:" + age + "<br/>");
String[] hobby = request.getParameterValues("hobby");
for ( int i=0; i<hobby.length; i++){
out.println("愛(ài)好" + (i+1) + ":" + hobby[i]);
}
out.println("<br/>");
String introduction = request.getParameter("introduction");
out.println("自我介紹:" + introduction + "<br/>");
%>
</i></p></div> </body>
</html>
(2 2 )
程序運(yùn)行結(jié)果截圖:
【實(shí)驗(yàn) 2 】
頁(yè)面刷新
使用 response 對(duì)象控制頁(yè)面 3 秒鐘刷新一次。(使用 java.util.Date 函數(shù)顯示時(shí)間)。
(1 1 )
程序代碼:
refresh.jsp <%@ page language= "java"
contentType= "text/html; charset=UTF-8"
pageEncoding= "UTF-8" %> <%@ page import= "java.io.*,java.util.*"
%> <!DOCTYPE html> <html>
<head> <meta charset= "UTF-8" > <title>3 秒自動(dòng)刷新</title> <style type= "text/css" >
.font
{
font-size: 30px ;
color: black ;
text-shadow: 5px 5px 5px black, 0px 0px 2px black ;
letter-spacing: 5px ;
} </style> </head>
<body style="background: url("bg.jpg") ;background-repeat: no-repeat ;background-size: cover ;">
<div align= "center"
style="margin-top: 250px ;" class = "font" >
<p>
<i>
3 秒自動(dòng)刷新<br/>
<%
response.setIntHeader("Refresh", 3);
Calendar calendar = new GregorianCalendar();
String am_pm;
int hour = calendar.get(Calendar.HOUR);
int minute = calendar.get(Calendar.MINUTE);
int second = calendar.get(Calendar.SECOND);
if(calendar.get(Calendar.AM_PM) == 0)
am_pm = "AM";
else
am_pm = "PM";
String CT = hour+":"+ minute +":"+ second +" "+ am_pm;
out.println("當(dāng)前時(shí)間為: " + CT + "\n");
%>
</i>
</p>
</div> </body> </html>
(3 3 )
程序運(yùn)行結(jié)果截圖:
【實(shí)驗(yàn) 3 】
頁(yè)面跳轉(zhuǎn)
使用 response 對(duì)象的重定向功能實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)。在實(shí)驗(yàn)題目 1 中如果表單的姓名在沒(méi)有填寫或?yàn)榭盏那闆r下提交時(shí),將頁(yè)面重新定向到注冊(cè)頁(yè)面。
(1 1 )
程序代碼:
<%
request.setCharacterEncoding("UTF-8");
String name = request.getParameter("name");
if("".equals(name)){
response.sendRedirect("login.jsp");
}
out.println("姓名:" + name + "<br/>");
String password = request.getParameter("password");
out.println("密碼:" + password + "<br/>");
String gender = request.getParameter("gender");
out.println("性別:" + gender + "<br/>");
String age = request.getParameter("age");
out.println("年齡:" + age + "<br/>");
String[] hobby = request.getParameterValues("hobby");
for ( int i=0; i<hobby.length; i++){
out.println("愛(ài)好" + (i+1) + ":" + hobby[i]);
}
out.println("<br/>");
String introduction = request.getParameter("introduction");
out.println("自我介紹:" + introduction + "<br/>");
%>
(2 2 )
程序運(yùn)行結(jié)果截圖:
四、實(shí)驗(yàn)心得體會(huì)
本次實(shí)驗(yàn)掌握了 jsp 內(nèi)置對(duì)象 request+response,主要有以下三行:
request.getParameter(String name); response.setHeader("Refresh","3"); response.sendRedirect(“example.jsp”); 重定向也十分簡(jiǎn)單的進(jìn)行跳轉(zhuǎn),此次實(shí)驗(yàn)并不難。
這回在課前預(yù)習(xí),能夠獨(dú)立完成,復(fù)習(xí)了 html 關(guān)于表單的知識(shí)。
JSP 程序設(shè)計(jì)( 三 )
班級(jí):170408
學(xué)號(hào):20172693
姓名:劉馨雨
一、 實(shí)驗(yàn)題目:
JSP 與 JavaBean。
二、 實(shí)驗(yàn)?zāi)康模?/p>
1.掌握使用有效范圍是 request 的 bean 存儲(chǔ)信息; 2.掌握使用有效范圍是 session 的 bean 顯示計(jì)算機(jī)的基本信息; 3.掌握使用有效范圍是 application 的 bean 制作一個(gè)簡(jiǎn)單的留言板。
四、 實(shí)驗(yàn)內(nèi)容:
【實(shí)驗(yàn) 1 】有效范圍為 request 的 的 bean 1. 實(shí)驗(yàn)要求 編寫一個(gè) JSP 頁(yè)面 inputAndShow.jsp 和一個(gè)名字為 computer 的 Javabean,其中 computer 由 PC.class 類負(fù)責(zé)創(chuàng)建。
1)
inputAndShow.jsp 頁(yè)面提供一個(gè)表單。其中表單允許用戶輸入計(jì)算機(jī)的品牌、型號(hào)和生產(chǎn)日期,該表單將用戶輸入的信息提交給當(dāng)前頁(yè)面,當(dāng)前頁(yè)面調(diào)用名字為 computer 的 bean,并使用表單提交的數(shù)據(jù)設(shè)置 computer的有關(guān)屬性的值,然后顯示 computer 的各個(gè)屬性的值。
2)
各個(gè)屬性的值。
3)
編寫的 PC.java 應(yīng)當(dāng)有描述計(jì)算機(jī)品牌、型號(hào)和生產(chǎn)日期的屬性,并提供相應(yīng)的 getXxx 和 setXxx 方法,來(lái)獲取和修改這些屬性的值。PC.java 中使用 package 語(yǔ)句,包名為:bean.data。將 PC.java 編譯后的字節(jié)碼文件PC.class 保存到對(duì)應(yīng)工程的 WEB-INF\classes\bean\data 目錄中。
程序代碼:
1、PC.java package bean.data;
public class PC {
String brand;
String model;
String date;
public String getBrand() {
return brand;
}
public void setBrand(String brand) {
this.brand = brand;
}
public String getModel() {
return model;
}
public void setModel(String model) {
this.model = model;
}
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
}
2、inputAndShow.jsp <%@ page language= "java"
contentType= "text/html; charset=UTF-8"
pageEncoding= "UTF-8" %> <%@ page import= "bean.data.PC"
%> <jsp:useBean id= "computer"
class= "bean.data.PC"
scope= "request" /> <!DOCTYPE html> <html> <head> <meta charset= "UTF-8" > <title>電腦信息</title> <style type= "text/css" >
input[type=text] {
width: 30% ;
padding: 12px 20px ;
margin: 8px 0 ;
box-sizing: border-box ;
border: 3px solid #ccc ;
-webkit-transition: 0.5s ;
transition: 0.5s ;
outline: none ;
}
input[type=text] :focus
{
border: 3px solid #555 ;
}
input[type=text], , select {
width: 30% ;
padding: 12px 20px ;
margin: 8px 0 ;
display: inline-block ;
border: 1px solid #ccc ;
border-radius: 4px ;
box-sizing: border-box ;
}
input[type=submit] {
width: 30% ;
background-color: #4CAF50 ;
color: white ;
padding: 14px 20px ;
margin: 8px 0 ;
border: none ;
border-radius: 4px ;
cursor: pointer ;
}
input[type=submit] :hover
{
background-color: #45a049 ;
}
.font
{
font-size: 20px ;
color: black ;
text-shadow: 5px 5px 10px black, 0px 0px 2px black ;
letter-spacing: 5px ;
} </style> </head>
<body style="background: url("bg.jpg") ;background-repeat: no-repeat ;background-size: cover ;"> <%request.setCharacterEncoding("UTF-8"); %>
<div align= "center"
style="margin-top: 200px ;" class = "font" ><p><i>
<form action= ""
method= "post" >
電腦品牌:<input type= "text"
name= "brand" ><br/>
電腦型號(hào):<input type= "text"
name= "model" ><br/>
生產(chǎn)日期:<input type= "text"
name= "date" ><br/>
<input type= "submit"
value= "提交" ><br/><br/><br/><br/>
</form>
<jsp:setProperty name= "computer"
property= "*" />
<table>
<tr>
<th>電腦品牌</th>
<th>電腦型號(hào)</th>
<th>生產(chǎn)日期</th>
</tr>
<tr>
<td><jsp:getProperty name= "computer"
property= "brand" /></td>
<td><jsp:getProperty name= "computer"
property= "model" /></td>
<td><jsp:getProperty name= "computer"
property= "date" /></td>
</tr>
</table>
</i></p></div> </body>
</html>
程序運(yùn)行結(jié)果截圖:
【實(shí)驗(yàn) 2 】有效范圍為 request 的 的 bean 1. 實(shí)驗(yàn)要求 實(shí)驗(yàn)2要求與實(shí)驗(yàn)1類似,與實(shí)驗(yàn)1不同的是,要求編寫兩個(gè)JSP頁(yè)面input.jsp和 show.jsp。編寫一個(gè)名字為 computer 的 Javabean,其中 computer 由 PC.class類負(fù)責(zé)創(chuàng)建。
1)
input.jsp 頁(yè)面提供一個(gè)表單。其中表單允許用戶輸入計(jì)算機(jī)的品牌、型號(hào)和生產(chǎn)日期,該表單將用戶輸入的信息提交給當(dāng)前頁(yè)面,當(dāng)前頁(yè)面調(diào)用名字為 computer 的 bean,并使用表單提交的數(shù)據(jù)設(shè)置 computer 的有關(guān)屬性的值。要求在 input.jsp 提供一個(gè)超鏈接,以便用戶單擊這個(gè)超鏈接訪問(wèn) show.jsp 頁(yè)面。
2)
show.jsp 調(diào)用名字為 computer 的 bean,并顯示該 bean 的各個(gè)屬性的值。
3)
編寫的 PC.java 應(yīng)當(dāng)有描述計(jì)算機(jī)品牌、型號(hào)和生產(chǎn)日期的屬性,并提供相應(yīng)的 getXxx 和 setXxx 方法,來(lái)獲取和修改這些屬性的值。PC.java 中使用 package 語(yǔ)句,包名為:bean.data。將 PC.java 編譯后的字節(jié)碼文件PC.class 保存到對(duì)應(yīng)工程的 WEB-INF\classes\bean\data 目錄中。
程序代碼:
1.input.jsp <%@ page language= "java"
contentType= "text/html; charset=UTF-8"
pageEncoding= "UTF-8" %> <%@ page import= "bean.data.PC"
%> <jsp:useBean id= "computer"
class= "bean.data.PC"
scope= "session" /> <!DOCTYPE html> <html> <head> <meta charset= "UTF-8" > <title>輸入</title> <style type= "text/css" >
input[type=text] {
width: 30% ;
padding: 12px 20px ;
margin: 8px 0 ;
box-sizing: border-box ;
border: 3px solid #ccc ;
-webkit-transition: 0.5s ;
transition: 0.5s ;
outline: none ;
}
input[type=text] :focus
{
border: 3px solid #555 ;
}
input[type=text], , select {
width: 30% ;
padding: 12px 20px ;
margin: 8px 0 ;
display: inline-block ;
border: 1px solid #ccc ;
border-radius: 4px ;
box-sizing: border-box ;
}
input[type=submit] {
width: 30% ;
background-color: #4CAF50 ;
color: white ;
padding: 14px 20px ;
margin: 8px 0 ;
border: none ;
border-radius: 4px ;
cursor: pointer ;
}
input[type=submit] :hover
{
background-color: #45a049 ;
}
.font
{
font-size: 20px ;
color: black ;
text-shadow: 5px 5px 10px black, 0px 0px 2px black ;
letter-spacing: 5px ;
} </style> </head>
<body style="background: url("bg.jpg") ;background-repeat: no-repeat ;background-size: cover ;"> <%request.setCharacterEncoding("UTF-8"); %>
<div align= "center"
style="margin-top: 200px ;" class = "font" ><p><i>
<form action= ""
method= "post" >
電腦品牌:<input type= "text"
name= "brand" ><br/>
電腦型號(hào):<input type= "text"
name= "model" ><br/>
生產(chǎn)日期:<input type= "text"
name= "date" ><br/>
<input type= "submit"
value= "提交" ><br/><br/><br/><br/>
</form>
<jsp:setProperty name= "computer"
property= "*" />
<a href= "show.jsp" >訪問(wèn) show.jsp,查看有關(guān)信息。</a>
</i></p></div> </body>
</html>
2.show.jsp <%@ page language= "java"
contentType= "text/html; charset=UTF-8"
pageEncoding= "UTF-8" %> <%@ page import= "bean.data.PC" %> <jsp:useBean id= "computer"
class= "bean.data.PC" scope= "session" /> <!DOCTYPE html> <html> <head> <meta charset= "UTF-8" > <title>顯示</title> <style type= "text/css" >
.font
{
font-size: 20px ;
color: black ;
text-shadow: 5px 5px 10px black, 0px 0px 2px black ;
letter-spacing: 5px ;
} </style> </head>
<body style="background: url("bg.jpg") ;background-repeat: no-repeat ;background-size: cover ;">
<div align= "center"
style="margin-top: 250px ;" class = "font" ><p><i>
<table>
<tr>
<th>電腦品牌</th>
<th>電腦型號(hào)</th>
<th>生產(chǎn)日期</th>
</tr>
<tr>
<td><jsp:getProperty name= "computer"
property= "brand" /></td>
<td><jsp:getProperty name= "computer"
property= "model" /></td>
<td><jsp:getProperty name= "computer"
property= "date" /></td>
</tr>
</table>
</i></p></div> </body>
</html>
程序運(yùn)行結(jié)果截圖:
【實(shí)驗(yàn) 3 】有效范圍為 application 的 的 bean 1. 實(shí)驗(yàn)要求 要求編寫兩個(gè) JSP 頁(yè)面 inputMess.jsp 和 show.jsp。編寫一個(gè)名字為 board 的Javabean,其中 board 由 MessBoard.class 類負(fù)責(zé)創(chuàng)建。
1)
inputMess.jsp 頁(yè)面提供一個(gè)表單。其中表單允許用戶輸入留言者的姓名、留言標(biāo)題和留言內(nèi)容,該表單將用戶輸入的信息提交給當(dāng)前頁(yè)面,當(dāng)前頁(yè)面調(diào)用名字為 board 的 bean,并使用表單提交的數(shù)據(jù)設(shè)置 board 的有關(guān)屬性的值。要求在 inputMess.jsp 提供一個(gè)超鏈接,以便用戶單擊這個(gè)超鏈接訪問(wèn) show.jsp 頁(yè)面。
2)
show.jsp 調(diào)用名字為 board 的 bean,并顯示該 bean 的 allMessage 屬性的值。
3)
編寫的 MessBoard.java 應(yīng)當(dāng)有刻畫留言者的姓名、留言標(biāo)題和留言內(nèi)容的屬性,并且有刻畫全部留言信息的屬性 allMessage。將 MessBoard.java編 譯 后 的 字 節(jié) 碼 文 件 MessBoard.class 保 存 到 對(duì) 應(yīng) 工 程 的WEB-INF\classes\tom\jiafei 目錄中。
程序代碼:
1.inputMess.jsp <%@ page language= "java"
contentType= "text/html; charset=UTF-8"
pageEncoding= "UTF-8" %> <%@ page import= "tom.jiafei.MessBoard"
%> <jsp:useBean id= "board"
class= "tom.jiafei.MessBoard"
scope= "application" /> <!DOCTYPE html> <html> <head> <meta charset= "UTF-8" > <title>留言</title> <style type= "text/css" >
input[type=text] {
width: 30% ;
padding: 12px 20px ;
margin: 8px 0 ;
box-sizing: border-box ;
border: 3px solid #ccc ;
-webkit-transition: 0.5s ;
transition: 0.5s ;
outline: none ;
}
input[type=text] :focus
{
border: 3px solid #555 ;
}
input[type=text], , select {
width: 30% ;
padding: 12px 20px ;
margin: 8px 0 ;
display: inline-block ;
border: 1px solid #ccc ;
border-radius: 4px ;
box-sizing: border-box ;
}
input[type=submit] {
width: 30% ;
background-color: #4CAF50 ;
color: white ;
padding: 14px 20px ;
margin: 8px 0 ;
border: none ;
border-radius: 4px ;
cursor: pointer ;
}
input[type=submit] :hover
{
background-color: #45a049 ;
}
.font
{
font-size: 20px ;
color: black ;
text-shadow: 5px 5px 10px black, 0px 0px 2px black ;
letter-spacing: 5px ;
} </style> </head>
<body style="background: url("bg.jpg") ;background-repeat: no-repeat ;background-size: cover ;"> <%request.setCharacterEncoding("UTF-8"); %>
<div align= "center"
style="margin-top: 200px ;" class = "font" ><p><i>
<form action= ""
method= "post"
name= "form" >
輸入您的名字:<br/><input type= "text"
name= "name" ><br/>
輸入您的留言標(biāo)題:<br/><input type= "text"
name= "title" ><br/>
輸入您的留言:<br/><textarea type= "text"
rows= "10"
cols= "80"
name= "content" ></textarea><br/>
<input type= "submit"
value= "提交" ><br/><br/><br/><br/>
</form>
<jsp:setProperty name= "board"
property= "*" />
<a href= "showMess.jsp" >查看留言板</a>
</i></p></div> </body>
</html>
2.showMess.jsp <%@ page language= "java"
contentType= "text/html; charset=UTF-8"
pageEncoding= "UTF-8" %> <%@ page import= "tom.jiafei.MessBoard" %> <jsp:useBean id= "board" class= "tom.jiafei.MessBoard"
scope= "application" /> <!DOCTYPE html> <html> <head> <meta charset= "UTF-8" > <title>留言板</title> <style>
.font
{
font-size: 30px ;
color: black ;
text-shadow: 5px 5px 10px black, 0px 0px 2px black ;
letter-spacing: 5px ;
} </style> </head>
<body style="background: url("bg.jpg") ;background-repeat: no-repeat ;background-size: cover ;">
<div align= "center"
style="margin-top: 280px ;" class = "font" ><p><i>
<jsp:getProperty name= "board"
property= "allMessage" /><br/><br/><br/>
<a href= "inputMess.jsp" >我要留言</a>
</i></p></div> </body>
</html> 3.MessBoard.java
package tom.jiafei;
import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date;
public class MessBoard {
String name;
String title;
String content;
StringBuffer allMessage;
ArrayList<String> savedName;
ArrayList<String> savedTitle;
ArrayList<String> savedContent;
ArrayList<String> savedTime;
public MessBoard() {
savedName = new ArrayList<String>();
savedTitle = new ArrayList<String>();
savedContent = new ArrayList<String>();
savedTime = new ArrayList<String>();
}
public void setName(String name) {
savedName.add(name);
}
public void setTitle(String title) {
savedTitle.add(title);
}
public void setContent(String content) {
savedContent.add(content);
Date time = new Date();
SimpleDateFormat matter = new SimpleDateFormat("yyyy-MM-dd,HH:mm:ss");
String messTime = matter .format(time);
savedTime.add(messTime);
}
public StringBuffer getAllMessage() {
allMessage = new StringBuffer();
allMessage.append("<table border=1>");
allMessage.append("<tr>");
allMessage.append("<th>留言者姓名</th>");
allMessage.append("<th>留言標(biāo)題</th>");
allMessage.append("<th>留言內(nèi)容</th>");
allMessage.append("<th>留言時(shí)間</th>");
allMessage.append("</tr>");
for( int k=0; k<savedName.size(); k++) {
allMessage.append("<tr>");
allMessage.append("<td>");
allMessage.append(savedName.get(k));
allMessage.append("</td>");
allMessage.append("<td>");
allMessage.append(savedTitle.get(k));
allMessage.append("</td>");
allMessage.append("<td>");
allMessage.append(savedContent.get(k));
allMessage.append("</td>");
allMessage.append("<td>");
allMessage.append(savedTime.get(k));
allMessage.append("</td>");
allMessage.append("</tr>");
}
allMessage.append("</table>");
return allMessage;
} }
程序運(yùn)行結(jié)果截圖:
四、實(shí)驗(yàn)心得體會(huì)
本次實(shí)驗(yàn)掌握了有效范圍是 request 的 bean 存儲(chǔ)信息;使用有效范圍是session 的 bean 顯示計(jì)算機(jī)的基本信息;使用有效范圍是 application 的 bean 制作一個(gè)簡(jiǎn)單的留言板。
這回在課前預(yù)習(xí),能夠獨(dú)立完成。
推薦訪問(wèn): 程序設(shè)計(jì) 實(shí)驗(yàn) 報(bào)告同志們:今天這個(gè)大會(huì),是市委全面落實(shí)黨要管黨、從嚴(yán)治黨要求的一項(xiàng)重大舉措,也是對(duì)縣市區(qū)委書記履行基層黨建工作第一責(zé)任人情況的一次集中檢閱,同時(shí)是對(duì)全市基層黨建工作的一次再部署、再落實(shí)的會(huì)議。前面,**
***年,我認(rèn)真履行領(lǐng)班子、帶隊(duì)伍、抓黨員、保穩(wěn)定的基層黨建工作思路,以學(xué)習(xí)貫徹習(xí)近平新時(shí)代中國(guó)特色社會(huì)主義思想和黨的十九大歷次全會(huì)精神為主線,以市局基層黨建工作考核細(xì)則為落腳點(diǎn),落實(shí)全面從嚴(yán)治黨主體
根據(jù)會(huì)議安排,現(xiàn)將2022年履行抓基層黨建工作職責(zé)情況報(bào)告如下:一、履職工作特色和亮點(diǎn)1 突出政治建設(shè),著力在思想認(rèn)識(shí)上提高。牢固樹立抓黨建就是抓政績(jī)的理念,以“黨建工作抓引領(lǐng)、社區(qū)治理求突破,為民服
2022年以來(lái),在**黨委的正確領(lǐng)導(dǎo)下,堅(jiān)持以習(xí)近平新時(shí)代中國(guó)特色社會(huì)主義思想為指導(dǎo),深入學(xué)習(xí)宣傳貫徹黨的二十大精神,以黨建工作為統(tǒng)領(lǐng),扎實(shí)開展夯實(shí)“三個(gè)基本”活動(dòng),以“四化四力”行動(dòng)為抓手,聚力創(chuàng)建
各位領(lǐng)導(dǎo),同志們:根據(jù)會(huì)議安排,現(xiàn)就2022年度抓基層黨建工作情況匯報(bào)如下:一、主要做法及成效(一)強(qiáng)化政治引領(lǐng)。一是不斷強(qiáng)化理論武裝。堅(jiān)持通過(guò)黨組會(huì)、中心組學(xué)習(xí)會(huì)和“三會(huì)一課”,第一時(shí)間、第一議題學(xué)
2022年度抓基層黨建工作述職報(bào)告按照黨委工作部署,現(xiàn)將本人2022年度抓基層黨建工作情況報(bào)告如下:一、2022年度抓基層黨建工作情況(一)旗幟鮮明講政治將旗幟鮮明講政治放在全局發(fā)展首要位置,積極開展
2022年,是我在數(shù)計(jì)系黨總支書記這個(gè)新崗位上度過(guò)的第一個(gè)完整的工作年度。回首一年來(lái)在校黨委的正確領(lǐng)導(dǎo)下,與數(shù)計(jì)系領(lǐng)導(dǎo)班子和全體師生共同走過(guò)的日子,艱辛歷歷在目,收獲溫潤(rùn)心田。作為黨總支書記,我始終牢
按照考核要求,現(xiàn)將本人一年來(lái),作為統(tǒng)戰(zhàn)部長(zhǎng)履行職責(zé)、廉潔自律等方面情況報(bào)告如下:一、著眼增強(qiáng)政治素質(zhì),不斷深化理論學(xué)習(xí)堅(jiān)持把旗幟鮮明講政治作為履職從政的第一位要求,帶領(lǐng)統(tǒng)戰(zhàn)系統(tǒng)干部堅(jiān)決擁護(hù)“兩個(gè)確立”
**年,緊緊圍繞黨工委、管委會(huì)的決策部署,全體人員團(tuán)結(jié)協(xié)作、凝心聚力,緊扣黨工委“**”基本工作思路,全力開拓進(jìn)取,認(rèn)真履職盡責(zé),圓滿完成各項(xiàng)工作任務(wù)。一、個(gè)人思想政治狀況檸檬文苑www bgzjy
按照縣委關(guān)于開展抓基層黨建述職評(píng)議會(huì)議的有關(guān)要求,經(jīng)請(qǐng)示縣委組織部同意,今天,我們?cè)诖苏匍_2022年度基層黨組織書記抓基層黨建述職評(píng)議會(huì)議。1 首先,請(qǐng)**黨委書記,**同志述職。**黨委能夠主動(dòng)研究