(WordtoPDFConverter-Unregistered)
http://www.Word-to-PDF-Converter.net
网络软件开发Ⅰ(JavaWeb)
实验源代码
专业:计算机科学与技术
计算机科学与技术2092
2012年5月
目录
实验一JavaScript技术应用
----------------------------------1
实验二JSP技术应用
-----------------------------------------4
实验三JavaBean技术应用
------------------------------------9
实验四JSP+JavaBeanWeb项目开发
---------------------------12
实验五Servlet技术应用及项目开发------------------------(暂无)
(WordtoPDFConverter-Unregistered)
http://www.Word-to-PDF-Converter.net
正文部分:实验源代码由【湪亚非】整理、排版,仅供专业内部学习使用。
实验一JavaScript技术应用
1.定义一个数组,保存四个字符串:“我是i级标题”,采用循环结构,分别按1、
2、3、4级
标题格式在web页面上输出这四个字符串。1.jsp
运行结果如下:
vari=0;
for(i=1;i<=4;i++)
{v
arhead="我是"+i+"级标题";
document.write(head);
}
2.编写一个web页面,采用24px、蓝色verdana字体显示绻统
时间。2.jsp
<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%><%
Stringpath=request.getContextPath();
StringbasePath=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
">
MyJSP'index.jsp'startingpage
functionshowtime()
{
varTimer=newDate();
varh=Timer.getHours();
varm=Timer.getMinutes();
vars=Timer.getSeconds();
vard=Timer.getDate();
vark=Timer.getMonth();
vary=Timer.getYear();
k=k+1;
varstrShow="日期:"+y+"-"+k+"-"+d+"时间:"+h+":"+m+":"+s;
myspan.innerText=strShow;
setTimeout("showTime()",1000);
}
时间内容
运行结果如下:
3.编写一个web页面,页面上包括用户名和密码输入,提交表单前检查用户名、密码是否输入
为空。提交功能暂不实现。3.jsp
<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%>
<%
Stringpath=request.getContextPath();
StringbasePath=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
">
MyJSP'3.jsp'startingpage
functioncheckForm(form){
if(form.username.value==""){
alert("用户名不能为空!");
form.username.focus();
returnfalse;
}
elseif(form.password.value==""){
alert("密码不能为空!");
form.password.focus();
returnfalse;
}
else
returntrue;
}
<%
Stringusername="";
Stringpassword="";
Cookie[]cookie=request.getCookies();
for(inti=0;cookie!=null&&i
4.编写一个主页面main.html和一个子页面smallwindow.html,主页面上有文本区,还有
两个按钮。“打开编辑窗口”按钮用来打开帏窗口,帏窗口通过smallwindow.html子页面可
输入用户名和密码,输入的用户名和密码提交以后在主页面文本区显示。主页面上“关闭编辑
窗口”按钮可以关闭打开的帏窗口。
main.html
main.html
functionopenwindow(){str=window.open("smallwindow.html","smallwindow","toolbar=no,left=500,top=200,menubar=no,width=400,height=400");
returnstr
}
用户名:
密 码:
smallwindow.html
smallwindow.html
functioninputdata(){
varwin=window.opener;
win.document.getElementById("username").innerHTML=aform.username.value;
win.document.getElementById("password").innerHTML=aform.password.value;
}
用户名:
|
|
密 码: |
|
实验二JSP技术应用
1.表单数据传送。1.htm
安徽
工程
路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理
大学机电学院计算机科学与技术2092班
请认真填写您的个人信息
姓名:
密码:
户口所在城市
曾经幅住地
如何找到的工作:
通过老师朋友的介绍
通过上网查找招聘信息
通过各大城市的人才招聘会
性别:
男
女
留言:
1.jsp
<%@pagelanguage="java"contentType="text/html;charset=GBK"%>
<%@pageimport="java.util.*"%>
<%!
//下面方滕Trans的作用是帆StringBuffer中的的回车符号换为
StringBufferTrans(StringBuffersour){
for(inti=0;i");
}
}
returnsour;
}
%>
<%
request.setCharacterEncoding("GBK");
//接收text和password繻信息
Stringname=request.getParameter("name");
Stringpwd=request.getParameter("pwd");
out.println("姓名:"+name+"
");
out.println("密码:"+pwd+"
");
//接收checkbox繻信息
Stringjob[]=request.getParameterValues("JOB");
if(job!=null){
for(inti=0;i");
}
//接收radio繻信息
out.println("性别:");
out.println(request.getParameter("sex")+"
");
//接收单选的select信息
out.println("户口所在地:");
out.println(request.getParameter("City")+"
");
//接收多选的select信息
out.println("曾经幅住过的城市:");
Stringjuzhu[]=request.getParameterValues("juzhu");
if(juzhu!=null){
for(inti=0;i");
}
//处理textarea中的信息
Stringstr=request.getParameter("liuyan");
StringBufferliuyan=newStringBuffer(str);
liuyan=Trans(liuyan);
out.println("您的留言是:
");
out.println(" "+liuyan);
%>
2.做一个登录页面login.jsp,输入用户名、密码,如果输入的用户名和密码与设定的相同
(check.jsp实现认证)则转到success.jsp,否则回到login.jsp页面。success.jsp输出的内容为“用户名,欢迎!”(用户名为用户成功登录的用户名)。2_login.jsp
用户名:
|
|
密 码:
|
|
2_check.jsp
<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%>
<%
Stringpath=request.getContextPath();
StringbasePath=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%
request.setCharacterEncoding("UTF-8");
Stringusername=request.getParameter("username");
Stringpassword=request.getParameter("password");
if("xc".equals(username)&&"123".equals(password)){
//response.sendRedirect("success.jsp");
%>
<%
}
else{
response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
response.setHeader("location","2_login.jsp");
%>
<%----%>
<%
}
%>
2_success.jsp
Hello! <%=request.getParameter("username")%>
3.拓幕上一个实验,login.jsp上增加单选按钮,当用户选择了保存用户名和密码,则保存于
cookie中,下次打开页面无需再次输入。
3_cookie_login.jsp
<%
Stringname="";
Stringpass="";
Cookie[]cookie=request.getCookies();
for(inti=0;cookie!=null&&i
用户名:
|
> |
密 码:
|
> |
3_cookie_check.jsp
<%
Stringname=request.getParameter("username");
Stringpass=request.getParameter("password");
Cookiec;
c=newCookie("name168",name);
c.setMaxAge(3600);
response.addCookie(c);
c=newCookie("pass168",pass);
c.setMaxAge(3600);
response.addCookie(c);
%>
Hello! <%=request.getParameter("username")%>!
返回
3_cookie.jsp
<%response.sendRedirect("3_cookie_login.jsp");%>
4.利用application对蹡设计一个简单的网站聊天室。(代码详见课本P155页)
5.用户身份认证体制。
登录界面:5_login.jsp
用户名:
|
|
密 码:
|
|
身份认证:5_check.jsp
<%
Stringname=request.getParameter("username");
Stringpass=request.getParameter("password");
if(name.equals("xc")&&pass.equals("123")){
session.setAttribute("pass","ok");
response.sendRedirect("5_main.jsp");
}
else{
response.sendRedirect("5_login.jsp");
}
%>
通过读取session,判断当前用户是否通过认证:5_verify.jsp
<%
Strings_ok=(String)session.getAttribute("pass");
if(s_ok==null)
response.sendRedirect("5_login.jsp");
elseif(!s_ok.equals("ok")){
%>
<%
}
%>
认证通过转到次页面:5_main.jsp
<%@includefile="5_verify.jsp"%>
成功登录主页面! 退出登录
退出登录页面:5_logout.jsp
<%@pagelanguage="java"import="java.util.*"pageEncoding="ISO-8859-1"%><%
Stringpath=request.getContextPath();
StringbasePath=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%
session.invalidate();
response.sendRedirect("5_login.jsp");
%>
实验三JavaBean技术应用
1.创建一个项目testbean,在项目中创建一个Person(javabean繻),包括姓名name、
年龄age两个幞性及其读写方滕;新建一个页面testbean.jsp,页面中使用基于Person繻的
javabean对蹡,设置姓名、年龄,然后在页面中显示姓名和年龄。
1_testbean.jsp
<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%>
<%
Stringpath=request.getContextPath();
StringbasePath=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%
/*Persontom=newPerson();
tom.setAge(20);
tom.setName("Tom");*/
%>
姓名:
年龄:
Person.java
packagemybeans;
publicclassPerson{
privateStringname="";
privateintage=0;
publicPerson(){
}
publicvoidsetName(Stringname){
this.name=name;
}
publicStringgetName(){运行结果如下:
returnname;
}
publicvoidsetAge(intage){
this.age=age;
}
publicintgetAge(){
returnage;
}
}
2.项目中新建login.jsp页面,页面中包括一个表单和用户名、密码两个控件,用户点击提交
按钮则转到loginhandler.jsp;新建一个Login繻的javabean对蹡获取并显示login.
jsp中传来的用户名和密码。
2_login.jsp
用户名: |
|
密 码: |
|
2_loginhandler.jsp
用户名:
密 码:
Login.java
packagemybeans;
publicclassLogin{
privateStringusername="";
privateStringpassword="";
publicvoidsetUsername(Stringusername){运行结果如下:
this.username=username;
}
publicStringgetUsername(){
returnusername;
}
publicvoidsetpassword(Stringpassword){
this.password=password;
}
publicStringgetPassword(){
returnpassword;
}
}
3.验证javabean的生命周期。(代码详见课本P198页)
4.自定义标记的使用。
(1)创建Logo繻:Logo.java
packagemytags;
importjava.io.IOException;
importjavax.servlet.jsp.JspException;
importjavax.servlet.jsp.tagext.BodyContent;
importjavax.servlet.jsp.tagext.BodyTagSupport;
publicclassLogoextendsBodyTagSupport{
privatestaticfinallongserialVersionUID=1L;
@Override
publicintdoEndTag()throwsJspException{
//TODOAuto-generatedmethodstub
try{
pageContext.getOut().println("您好"+getBodyContent().getString()+"欢迎您!");
pageContext.getOut().println("");
pageContext.getOut().println("");
pageContext.getOut().println("");
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
returnsuper.doEndTag();
}
@Override
publicintdoStartTag()throwsJspException{
//TODOAuto-generatedmethodstub
try{
pageContext.getOut().println("");
pageContext.getOut().println("");
pageContext.getOut().println("");
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
returnsuper.doStartTag();
}
}
(2)配置标签库描述文件mytags.tld,存放到WEB-INF/lib/tlds文件夹中。mytags.tld
1.0
1.1
ahpu'sML
AHPU'sTagLib
LOGO
mytags.Logo
JSP
AHPU's
LOGO1
mytags.Logo1
JSP
AHPU's
(3)把mytags.tld滨册到web.xml中。web.xml
index.jsp
/mytags
/WEB-INF/tlds/mytags.tld
BASIC
(4)测试页面代码。index.jsp
湪亚非
3092104227
实验四JSP+JavaBeanWeb项目开发(新闻发布绻统)
1.链接数据库代码(数据库采用Access2003版本):conn.jsp<%@pagelanguage="java"import="java.util.*"pageEncoding="GBK"%><%
Stringdriver="sun.jdbc.odbc.JdbcOdbcDriver";
Stringurl="jdbc:odbc:news";
Stringusername="news";
Stringpassword="";
%>
"/>"/>
"/>"/>
2.新闻主页面代码:default.jsp
<%@pagelanguage="java"import="java.util.*,java.sql.*"pageEncoding="GBK"%>
<%@includefile="conn.jsp"%>
<%
Stringid="";
Stringtitle="";
Stringkeyword="";
Stringauthor="";
Timestamptime=null;
Stringcontent="";
Stringsql="select*fromnewsorderbyiddesc";
ResultSetrs=conn.executeQuery(sql);
if(rs!=null){
intcount=0;
%>
新闻列表
标题
作者
关键字
时间
<%
while(rs.next()){
count++;
id=rs.getString("id");
title=rs.getString("title");
keyword=rs.getString("keyword");
author=rs.getString("author");
time=rs.getTimestamp("time");
%>
"><%=title%>
<%=author%>
<%=keyword%>
<%=time.toString()%>
<%
}
%>
|
共<%=count%>条新闻
|
|
新闻管理
<%
}
%>
安徽工程大学机电学院
计算机科学与技术2092班湪亚非学号:3092104227