web2

发布时间 2023-06-11 10:27:16作者: 与孤独对酌

实验项目名称实验  服务器端简单程序设计

 

一、实验目的

通过一个小型网站的开发掌握JSP基础知识,加深对sessionrequestresponsecookie等对象的理解,掌握其使用方法,进一步深入掌握HTMLCSSJavaScript等知识

二、实验内容和基本要求

1) 编写index.jsp文件,展示某一类物品或知识的介绍,可以是歌曲、人物、名胜古迹等要求至少有三个条目,用户登录后才能浏览这三个条目的内容。如果用户尚未登录,需要显示用户为“游客”,否则显示用户名。页面下端设置超链接,指向login.jsp。如果用户尚未登录,单击了某一条目的内容,则系统自动转向login.jsp。

2) 编写login.jsp文件,该页面包含一个表单,表单中有两个input标记,分别让用户输入用户名和密码,还有一个登录按钮。当用户单击“登录”后,将表单数据以post的方式提交给check.jsp。

3) 编写check.jsp,该页面使用request对象获取客户端发送过来的用户名和密码,并对用户的合法性进行验证。如果用户输入的用户名和密码不相同,则提示用户登录失败,2秒钟之后自动转向login.jsp页面。如果用户输入的用户名和密码相同,则提示用户登录成功,2秒钟之后转入登录前页面。(提示:登录前页面的记录可以在用户单击的每个网页中,使用session对象的某个属性记录用户访问的当前网页)。

4) 编写三个条目的内容网页。每个网页的上端都需要展示登录的用户名。下端需要“回到首页”的超链接。这三个条目的内容网页只有用户登录后才能浏览。

5) 当用户合法登录后,客户端保留5分钟的Cookie。当用户关闭浏览器后,5分钟之内再次访问时可以免登陆。

6) 将网页源代码和浏览器截图写入实验报告。

三、实验步骤

1) 打开Eclipse软件,新建一个名为Lab02Web项目,并设置其部署程序为Tomcat

2) Lab02添加文件,编写代码。

3) Index.jsp文件代码

<%--

Created by IntelliJ IDEA.

User: licc

Date: 2023/4/14

Time: 16:40

To change this template use File | Settings | File Templates.

--%>

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>主页</title>

</head>

<style>

body

{

background-image: url(images.webp);

background-size:100% 100% ;

background-attachment: fixed ;

}

table

{

border-spacing: 10px 20px;

border : solid 1px red;

margin-top:300px;

}

.font

{

letter-spacing:6px;

}

</style>

<script type="text/jscript">

request.setCharacterEncoding("utf-8");

function jump(adress,a)

{

if(adress=='s1')

{

if (a=="1")

window.location.href='login.jsp';

if (a=="2")

window.location.href='s1.jsp';

}

if(adress=='s2')

{

if (a=="1")

window.location.href='login.jsp';

if (a=="2")

window.location.href='s2.jsp';

}

if(adress=='s3')

{

if (a=="1")

window.location.href='login.jsp';

if (a=="2")

window.location.href='s3.jsp';

}

}

</script>

<body class = "font">

<%! String a="1";%>

<%! String b="亲爱的游客"; %>

<%

Cookie[] cookies = request.getCookies();

if(cookies != null && cookies.length > 0)

{

for(Cookie c: cookies)

{

if(c.getName().toString().equals("username"))

{

b = c.getValue().toString();

}

if(c.getName().toString().equals("id"))

{

a = c.getValue().toString();

}

}}

 

%>

<marquee scrollAmount="20" direction="left" scrollDelay="90" behavior="alternate" loop="-1" onmouseover="this.stop()"

onmouseout="this.start()" hspace="20%">

<a style="color: red; font-family: 黑体; font-size: 15pt; text-align: center;"><%=b %>,欢迎访问本网站</a>

</marquee>

<table align="center" valign="middle">

<tr> <td align="center"><a href="first.jsp"a href="javascript:jump('s1',<%=a %>)">山河无恙在我胸</a></td></tr>

<tr> <td align="center"><a href="second.jsp"a href="javascript:jump('s2',<%=a %>)">Hard To Get</a></td></tr>

<tr> <td align="center"><a href="third.jsp"a href="javascript:jump('s3',<%=a %>)">只因你太美</a></td></tr>

<tr> <td align="center" > <a href="login.jsp"a href="javascript:jump('s4',<%=a %>)">登录</a></td></tr>

</table>

</body>

</html>

Check.jsp

<%--

Created by IntelliJ IDEA.

User: licc

Date: 2023/4/14

Time: 16:42

To change this template use File | Settings | File Templates.

--%>

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>主页</title>

</head>

<style>

body

{

background-image: url(images.webp);

background-size:100% 100% ;

background-attachment: fixed ;

}

table

{

border-spacing: 10px 20px;

border : solid 1px red;

margin-top:300px;

}

.font

{

letter-spacing:6px;

}

</style>

<script type="text/jscript">

request.setCharacterEncoding("utf-8");

function jump(adress,a)

{

if(adress=='s1')

{

if (a=="1")

window.location.href='login.jsp';

if (a=="2")

window.location.href='s1.jsp';

}

if(adress=='s2')

{

if (a=="1")

window.location.href='login.jsp';

if (a=="2")

window.location.href='s2.jsp';

}

if(adress=='s3')

{

if (a=="1")

window.location.href='login.jsp';

if (a=="2")

window.location.href='s3.jsp';

}

}

</script>

<body class = "font">

<%! String a="1";%>

<%! String b="亲爱的游客"; %>

<%

Cookie[] cookies = request.getCookies();

if(cookies != null && cookies.length > 0)

{

for(Cookie c: cookies)

{

if(c.getName().toString().equals("username"))

{

b = c.getValue().toString();

}

if(c.getName().toString().equals("id"))

{

a = c.getValue().toString();

}

}}

 

%>

<marquee scrollAmount="20" direction="left" scrollDelay="90" behavior="alternate" loop="-1" onmouseover="this.stop()"

onmouseout="this.start()" hspace="20%">

<a style="color: red; font-family: 黑体; font-size: 15pt; text-align: center;"><%=b %>,欢迎访问本网站</a>

</marquee>

<table align="center" valign="middle">

<tr> <td align="center"><a href="first.jsp"a href="javascript:jump('s1',<%=a %>)">山河无恙在我胸</a></td></tr>

<tr> <td align="center"><a href="second.jsp"a href="javascript:jump('s2',<%=a %>)">Hard To Get</a></td></tr>

<tr> <td align="center"><a href="third.jsp"a href="javascript:jump('s3',<%=a %>)">重生</a></td></tr>

<tr> <td align="center" > <a href="login.jsp">登录</a></td></tr>

</table>

</body>

</html>

Login.jsp

<%--

Created by IntelliJ IDEA.

User: licc

Date: 2023/4/14

Time: 16:40

To change this template use File | Settings | File Templates.

--%>

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>登录</title>

</head>

<style>

body

{

background: url(images.webp);

background-size:100% 100% ;

background-attachment: fixed

 

}

</style>

<script type="text/javascript">

window.onload = function check( )

{

document.getElementById("submit_login").onclick = function()

{

var str1 = form1.username.value;

var str2 = form1.password.value;

if (str1 == ""||str2 == "") {

alert("用户名或者密码为空!");

form1.username.focus();

}

return;

};

};

</script>

<body>

 

<form action="check.jsp" method="post" id="form1" name = "form1" onsubmit="">

<table align="center" valign="middle">

<tr><td id="top">用户登录 </td></tr>

<tr>

<td>用户名:</td>

<td><input type="text" name="username" id = "username"value=""> </td>

</tr>

<tr>

<td> 密码:</td>

<td><input type="password" name="password" id = "password"> </td>

</tr>

<tr>

<td colspan="2" align="center"><input type="submit" value="确定" name="submit_login" id="submit_login">

<input type="reset" > </td>

</tr>

</table>

</form>

</body>

</html>

first.jsp

<%--

Created by IntelliJ IDEA.

User: licc

Date: 2023/4/20

Time: 19:57

To change this template use File | Settings | File Templates.

--%>

<%@ page contentType="text/html;charset=UTF-8" language="java" %>

<html>

<head>

<title>山河无恙在我胸</title>

</head>

<body background="images.webp">

<div align="center" style="background: white" >

<h1 style="color: black;">山河无恙在我胸</h1>

 

<h5 style="color: black;">歌词</h5>

<p>

选择了多少向死而生

终于等到冰雪消融

经历了多少负重前行

今夜光芒照亮天空

一路崎岖 任山高水重

我们曾并肩走过最冷的寒冬

大地回春 浴火而重生

我们曾那么渴望迎接光明

去时风雨锁寒江

归来落樱染轻裳

漫天飞花中 微笑望苍穹

山河无恙在我胸

愿君归来若春风

山河无恙 如初见模样

忘不了那些云中相拥

微光汇聚星河万顷

守护着此刻岁月静好

众志凝成剑气如虹

千江有月 映千山有情

人世间最美是你逆风的身影

万里无翳 万物又欣荣

天地间你采来生命的火种

去时风雨锁寒江

归来落樱染轻裳

漫天飞花中 微笑望苍穹

山河无恙在我胸

愿君归来若春风

山河无恙 如初见模样

去时风雨锁寒江

归来落樱染轻裳

漫天飞花中 微笑望苍穹

山河无恙在我胸

愿君归来若春风

山河无恙 如初见模样

去时风雨锁寒江

归来落樱染轻裳

漫天飞花中

微笑望苍穹

山河无恙在我胸

愿君归来若春风

山河无恙 如初见模样

山河无恙 是爱的约定

</p>

</div>

<div style="text-align: center">

<a href="check.jsp">

<button>回到首页</button>

</a>

</div>

</body>

</html>

Second.jsp

<%--

Created by IntelliJ IDEA.

User: licc

Date: 2023/4/20

Time: 19:57

To change this template use File | Settings | File Templates.

--%>

<%@ page contentType="text/html;charset=UTF-8" language="java" %>

<html>

<head>

<title>Hard To Get</title>

</head>

<body background="images.webp">

<div align="center" style="background: white" >

<h1 style="color: black;">Hard To Get</h1>

 

<h5 style="color: black;">歌词</h5>

<p>

You, you, you play hard to get

 

欲擒故纵的你

 

You, you, you play hard to

get

 

不可多得的你

 

And I don’t know how much I can give

 

我不知道还有什么可以给予你

 

Cuz

you, you, you play hard to get

 

因为你是这样的触不可及

 

Did you ever think about

us?

 

你有想过我们的关系吗?

 

U been playing this game too

tough

 

是你让这场游戏变得太过艰难

 

Tried to give ya love

 

试图让你体味爱情

 

Now I’m trying

not to get fed up

 

我努力不让自己感到厌倦

 

Tell me did you ever think about

us?

 

告诉我,你有想过我们的未来吗?

 

Worked a long time just to earn ya

trust

 

而我还在试图获得你的信任

 

I don’t wanna make no fuss

 

我无意小题大做

 

But I got a

thousand bad batch lined up

 

但太多劣质感情在排队等我

 

You the only girl that ain’t

signed up

 

唯独你不在其中

 

Got a lot of baijiu in my cup

 

杯中盛满酒精

 

Tryna make a

bae of you, wussup?

 

想要把你捧在手心,可以吗?

 

Sending drunk texts when I’m in the

club

 

醉意朦胧中给你发着情话

 

Did you understand what it was

 

你明白它的意思吗?

 

Do I gotta

clear it up?

 

你明白我的本意吗?

 

Swear I ain’t in a rush

 

我发誓我并不那么快想要一个结果

 

I can

only play with you so much

 

我会和你将这欲擒故纵的游戏继续到底

 

You, you, you play hard to

get

 

欲擒故纵的你

 

You, you, you play hard to get

 

不可多得的你

 

And I don’t know

how much I can give

 

我不知道还有什么可以给予你

 

Cuz you, you, oh you play hard to

get

 

因为你是这样的触不可及

 

想说的话太多总被收回

 

又是喝到烂醉断片了为止

 

每到夜晚思念填满我的胃

 

假装无所谓却天生一对

 

去没人的岛

 

摸鲨鱼的角

 

写童谣和chase

 

I’d love to wait

 

我愿意为你等待

 

But I got a thousand bad batch lined

up

 

但太多劣质感情在排队等我

 

You the only girl that ain’t signed up

 

唯独你不在其中

 

Got a

lot of baijiu in my cup

 

杯中盛满酒精

 

Tryna make a bae of you,

wussup?

 

想要把你捧在手心,可以吗?

 

Sending drunk texts when I’m in the

club

 

醉意朦胧中给你发着情话

 

Did you understand what it was

 

你明白它的意思吗?

 

Do I gotta

clear it up?

 

你明白我的本意吗?

 

Swear I ain’t in a rush

 

我发誓我并不那么快想要一个结果

 

I can

only play with you so much

 

我会和你将这欲擒故纵的游戏继续到底

 

You, you, you play hard to

get

 

欲擒故纵的你

 

You, you, you play hard to get

 

不可多得的你

 

And I don’t know

how much I can give

 

我不知道还有什么可以给予你

 

Cuz you, you, you play hard to

get

 

因为你是这样的触不可及

</p>

</div>

<div style="text-align: center">

<a href="check.jsp">

<button>回到首页</button>

</a>

</div>

</body>

</html>

third.jsp

<%--

Created by IntelliJ IDEA.

User: licc

Date: 2023/4/20

Time: 19:58

To change this template use File | Settings | File Templates.

--%>

<%@ page contentType="text/html;charset=UTF-8" language="java" %>

<html>

<head>

<title>只因你太美</title>

</head>

<body background="images.webp">

<div align="center" style="background: white" >

<h1 style="color: black;">只因你太美</h1>

 

<h5 style="color: black;">歌词</h5>

<p>

只因你太美 baby 只因你太美 baby

只因你实在是太美 baby 只因你太美 baby

迎面走来的你让我如此蠢蠢欲动

这种感觉我从未有

Cause I got a crush on you who you

你是我的我是你的谁

再多一眼看一眼就会爆炸

再近一点靠近点快被融化

想要把你占为己有baby bae

不管走到哪里都会想起的人是你 you you

我应该拿你怎样

uh 所有人都在看着你

我的心总是不安

oh 我现在已病入膏肓

eh eh 难道真的因为你而疯狂吗

我本来不是这种人

因你变成奇怪的人

第一次呀变成这样的我

不管我怎么去否认

只因你太美 baby 只因你太美 baby

只因你实在是太美 baby 只因你太美 baby

oh eh oh 现在确认地告诉我

oh eh oh 你到底属于谁

oh eh oh 现在确认地告诉我

oh eh oh 你到底属于谁 就是现在告诉我

跟着这节奏 缓缓 make wave

甜蜜的奶油 it's your birthday cake

男人们的 game call me 你恋人

别被欺骗愉快的 I wanna play

我的脑海每分每秒只为你一人沉醉

最迷人让我神魂颠倒是你身上香水

oh right baby I'm fall in love with you

我的一切你都拿走只要有你就已足够

我到底应该怎样

uh 我心里一直很不安

其他男人们的视线

Oh 全都只看向你的脸

Eh eh 难道真的因为你而疯狂吗

我本来不是这种人

因你变成奇怪的人

第一次呀变成这样的我

不管我怎么去否认

只因你太美 baby 只因你太美 baby

只因你实在是太美 baby 只因你太美 baby

我愿意把我的全部都给你

我每天在梦里都梦见你还有我闭着眼睛也能看到你

现在开始我只准你看我

I don’t wanna wake up in dream 我只想看你这是真心话

只因你太美 baby 只因你太美 baby

只因你实在是太美 baby 只因你太美 baby

oh eh oh 现在确认的告诉我

oh eh oh 你到底属于谁

oh eh oh 现在确认的告诉我

oh eh oh 你到底属于谁就是现在告诉我

</p>

 

</div>

<div style="text-align: center">

<a href="check.jsp">

<button>回到首页</button>

</a>

</div>

</body>

</html