HTML
1.
HTML: 超文本标记语言,即HTML(Hypertext Markup Language),是用于描述网页文档的一种标记语言
2.
最简单的一个html文件的内容应该包括 html开头、head、body是互相嵌套的
我的第一个网页
<html>
<head>
<title> 百度</title>
</head>
<body>
百度一下
</body>
</html>
3.
看来要记还有要学习的东西真的是很多呢,在平常的学习应用中记忆所接触的HTML元素!!
4. 下面是HTML元素表!!
html代码元素列表说明及HTML标记参考手册
HTML语言是网页制作中最基础的代码,博客日志许多都支持HTML标记,能熟悉HTML标记对博客和个人网站的美化会有很大的帮助。
<html> </html>标志着html文件的开始与结束
<head> </head>头部标志符
<title> </title>网页的标题
<boby> </boby>构成web的主体
1.background 定义网页的背景图案
2.bgcolor 背景色(默认白)
3.text 文字颜色(默认黑)
4.link 超链接颜色(默认蓝)
5.alink 当前被选中的超链接颜色(默认红)
6.vlink 已被访问过的超链接颜色(默认紫)
<font> </font>标志符可以控制字符的样式
1.face 设置文字的字体效果
2.color 设置文字颜色
3.size 设置字体大小
<b></b> 粗体 <strike></strike>删除线
<big></big>大字体 <sub></sub>下标
<i></i>斜体 <sup></sup>上标
<s></s>删除线 <u></u>下划线
<small></small>小字体
<hn></hn>设置文件中的标题 nj 1~6的数字
<p></p>(paragraph)划分段落
<pre></pre>预格式化标志符
<hr> 换行并绘制一条水平线(没有结束标志符)
1.width 水平线长度
2.size 水平线粗细
3.noshade 无阴影
4.align 水平线的对齐方式(left center right)
5.color 水平线颜色
<br> 强制换行(没有结束标志符)
<ol>
<li>......</li>
<li>......</li>
.......
</ol> 设置有序列表 li可是1.2.3....或a.b.c....或A.B.C...或i.ii.iii.....或I.II.III....
(两个属性:type start)
<ul>
<li>......</li>
<li>......</li>
......
</ul> 无序列表 (一个属性:type disc实心圆 circle空心圆 square方框)
<a></a>实现超链接
1.href 定义超链接所指向的文档的URL
2.target 目标窗口
3.name 锚名称(该属性一般在创建页面内超链接时使用)
<a href="/oblog312/URL"> </a>使用a标志符创建超链接时,可以使用相对路径(同一网站内的文件),也可以使用绝对路径(指向本站点以外的文件)
<a name="锚点名称"> </a>
.....
<a href="#锚点名称"> </a> 创建网面内超链接逻辑上分为两步,首先定义锚点,然后再创建指向锚点的超链接
<a href="mailto:电子邮箱地址"> </a>指向电子邮箱的超链接>
<img> 插入图像
1.src 设置被引用的图像文件所在的位置
2.alt 设置图像的简单文字说明
3.width,height 设置图像的宽度与高度
4.align 对齐方式(left,right,top,bottom,middle)
5.border 边框宽度
6.hspace ,vspace 定义了图像与周围元素的水平和垂直间距
<map name="图像映射名称">
<area>
<area>
......
</map>
<img src="/oblog312/"usemap="#图像映射名称"> <map></map>定义了图像映射的区域
img通过usemap可以确定与所建立的图像映射区域的关系
area定义图像不同区域与不同文档之间建立链接
1.shape 形状(rect矩形 circle圆 poly多边形)
2.coords 坐标
3.target 目标窗口
4.alt 替换文字
<table>
<caption> </caption>
<tr>
<th> </th><th> </th>......
</tr>
<tr>
<td> </td><td> </td>......
</tr>
<tr>
<td> </td><td> </td>
</tr>
......
</table> table标记符定义表格 caption定义表格标题 tr标记符定义表格的行 th,td标志符定义表格的单元格 th定义表头单元格
table可以创建一个新的表格
1.width(宽),height(高)
2.border(边框)
3.bgcolor(背景颜色)
4.align(对齐方式left right center)
5.cellpadding(填充距)
6.cellspacing(单元格间距)
7.rules(分隔线 none无分隔线 groups在行列之间有 rows只有行分隔线 cols只有列 all所有)
8.frame(边框 void无边框 above只显示顶部边框 below只显示底部边框 hsides只显示顶,底部边框 vsides只显示左右边框 lhs显示左边框 rhs显示右 box显示所有)
<tr> </tr>表行
1.align 对齐方式(left center right)
2.valign 垂直对齐方式 (top middle bottom baseline)
3.bgcolor 背景颜色
<td></td>表格数据
1.width,height
2.align(left right center)
3.valign(top middle bottom)
4.bgcolor
5.rowspan 单元表的行数
6.colspan 单元表的列数
<frameset>
<frame>
<frame>
......
<frame>
</frameset> frameset是将窗口分割成若干个子窗口,子窗口数取决于frame的个数
<frame> 标记符来标识子窗口(无结果符)
1.name
2.src(源) 设置框架内容的URL
3.frameborder(框架边框)
4.marginwidth (框架的左右边距)
5.marginheight(框架的上下边距)
6.scrolling(是否显示滚动条 auto自动 yes显示 no不显示)
7.noresize(不允许调整框架的尺寸)
<a herf="目标文件"target="目标框架名">超链接内容</a>
1._top 表示将超链接的目标文件装入整个浏览器窗口
2._self 表示将超链接的目标文件装入当前框架,以取代该框架中正在显示的文件
3._blank 表示将超链接的目标文件装入一个新的浏览窗口
4._parent 表示将超链接的目标文件装入当前框架的父框架
<iframe></iframe>定义了一个页面内的框架
1.src(源) 设置框架内容的URL
2.name
3.width,height
4.align (top middle bottom)
5.frameborder(框架边框)
6.marginwidth(框架左右边框),marginheight(框架上下边框)
7.scrolling(是否显示滚动条 auto yes no)
<form></form>表单
1.method(方法) 定义表单的提交方式
2.action(动作) 指定表单所对应的处理程序
<input> 定义了一个用于用户输入的表单元素(无结束标记符)
1.name 标识表单元素
2.type 指定表单元素的类型(text文本 password密码 checkbox复选框 radio单选框 submit提交按钮 reset重置按钮)
<input type="text">将type指定为text,在浏览器中显示一个文本输入框,供用户输入信息
1.value (初始值)
2.size (尺寸)
3.maxlength(输入文本的最大字符数)
<input type="password">密码文本框
例:<form>
密码:<inputtype="password"name="password"size="10"maxlength="15">
</form>
<input type="checkbox">复选框
例:<from>
<p>你的爱好:</P>
<inputtype="checkbox"name="favorite1"value="music"checked>音乐
<inputtype="checkbox"name="favorite2"value="sports">体育
<inputtype="checkbox"name="favorite3"value="other">其它
</form>
<input type="radio">单选框
例:<form>
<p>公司的人数:</p>
<p><input type="radio"name="number">少于10人</p>
<p><input type="radio"name="number"checked>10人至100人</p>
<p><input type="radio"name="number">100人以上</p>
</form>
<input type="submit">提交按钮
<form>
<input type="submit"value="提交">
</form>
<input type="reset">重置按钮
<input type="image">图像提交按钮
<input type="file">
<input type="buttom">
<input type="hidden">
<textarea> </textarea>定义一个用于用户多行输入的表单元素
1.name 指定文本域的名称
2.rows 指定文本域的高度
3.cols 指定文本域的宽度
<select>
<option></option>
<option></option>
......
<option></option>
</select> 定义了一个选项列表表单元素
1.name 指定选取项列表的名称
2.size 指定列表选项显示时一次显示选项的数目
3.multiple使用该属性可以允许多重选择
4.value 指定当该选项被选中并提交后,浏览器传给服务器的数据
5.selected 指定哪一个选项在默认状态下是选中状态
<label></label>选中该控件
<marquee></marquee>创建一些滚动字幕
1.direction(方向 left right up down)
2.behavior (行为 scroll绕圈滚动 slide只滚一次 alternate来回滚动)
3.loop (循环)
4.scrollamount(滚动的速度)
5.scrolldelay(滚动延时)
6.align(对齐方式 top middle bottom)
7.bgcolor
8.height,width
9.hspace,vspace(垂直和水平间距)
<applet>
<param>
<param>
......
</applet> applet用来在网页中插入一个Java小应用程序对象
1.code(源代码) 指定Java小应用程序的源代码文件(.class文件)
2.name
3.width,height
4.align
param用来定义Java小应用程序中的参数
1.name
2.value(值)给变量赋值
3.valuetype(值类型 data表示value指定的值将作为一个字符串传递的对象
ref表示value指定的值是一个URL
object表示value指定的值是一个指向同一文档中一个object的标志符)
4.type(类型)当valuetype属性的值设置为ref时,此属性指定了URL所代表资源的内容类型
<object>
<param>
<param>
......
</object> object可以定义很多种不同的多媒体文件
1.classid:该属性指定了浏览器中用来播放相应多媒体对象的控件ID
2.codebase:定义多媒体文件相对位置的根目录
3.codetype:指定当下载由classid所指定的对象时使用的数据内容的类型
4.data:定义多媒体文件的位置
5.type:定义多媒体文件的类型
6.width,height
selector{property1:value1;property2:value2......}selector表示需要应用式样的对象
property表示由css标准定义的样式属性
value表示样式赂性的值
例:h2{text-align:center;font-family:楷体_gb2312}
selector.classname{property1:value1;......} 标记符类
.classname{property:value;......} 通用类
#IDname{property:value;......}用户定义ID
虚类
a:link或:link 当超链接末被访问过时,超链接的显示方式
a:visited或:visited 当超链接已经被访问过时,超链接的显示方式
a:active或:active当超链接当前为选中姿态时,超链接的显示方式
a:hover或:hover 当鼠标指针悬停在超链接上时,超链接的显示方式
例: a:link{color:blue}
长度单位
1.em:它所代表的长度是当前字体中m字母的宽度
2.ex:它所代表的长度是当前字体中x字母的高度
3.px:像素,它是相对于计算机屏幕的分辨率来定义的
in:英寸,1in=2.54cm 1cm=10mm
pt:点,1点=1/72in pc:帕 1帕=12点
font-family(字体族)
font-family:字体名称 | 字体族名称
例: p{font-family:黑体,宋体,serif}
font-style(字体风格)
font-style:字体风格名称
例:p{font-style:oblique}
font-size(字体大小)
font-size:绝对大小 | 相对大小 | 百分比
font-variant(字体变形)
font-varient:字体变形值
1.normal(普通)
2.small-caps(小型大写字母)
font-weight(字体加粗)
font-weight:字体加粗值
1.normal(普通)
2.bold(加粗)
3.bolder(更粗)
4.lighter(更细)
letter-spacing(字符间距)
letter-spacing:数值
text-decoration(文字修饰)
text-decoration:文字修饰效果
1.none 无
2.underline 下划线
3.overline 上划线
4.line-through 删除线
5.bink 闪烁
text-transform(文本转换)
text-transform:文本转换方式
1.none 无
2.capitalize 使所有单词的第一个字母大写
3.uppercase 使所有单词字母都大写
4.lowercase 使所有单词字母都小写
text-align(文本对齐方式)
text-align:对齐方式
1.left
2.right
3.justify 可调整
text-indent(文本缩放)
text-indent:缩放的数值
line-height(行高)
line-height:数值
margin(页边距)
margin:数值
padding(填充距)
padding:数值
例: table{padding:2cm3cm 5cm}上填充距2cm,左右填充距为3cm,下填充距5cm
border-style(边框样式)
border-style:边框样式
1.none
2.dotted 点线
3.dashed 虚线
4.solid 实线
5.double
6.groove 凹线
7.ridge 凸线
8.inset 内陷
9.outset 外凸
border-color(边框颜色)
border-color: 颜色值
border-width(边框宽度)
border-width:数值
1.thin 细
2.medium 中
3.thick 宽
border(边框)
border:边框样式|边框宽度|边框颜色
例: h1{border:5pxsolid red}
float(浮动)
float:参数
1.none
2.left
3.right
5.
加水平线:<hr>;
水平线的默认位置为 居中 —align = “center”;
可以设置水平线的像素宽度—weight= “100”;
单独开来:<hr align= “right” weight= “200”>
6.
<br> 换行 branch
可以使用在正文之中
7.
段落paragraph
<p>somethings</p>
8.
F5刷新一下~~ 哈哈
9.body中任何地方可以放置 表示空格!
10.
<html>
<head>
<title>百度</title>
</head>
<body>
百度一下<br>你就知道 你知道吗?
<p> i don't knowdf where you a re?</p><p>i know you aremy baby</p>
<hrwidth = "8%" size = "50%" color = "pink" align ="left">
</body>
</html>
11.
<ol> ordered list 有序列表
<ul> unordered list 无序列表
内置<li>list 标签
12.
<html>
<head>
<title>这是网页标题哦</title>
</head>
<body>
<h1><fontcolor = "red">这是网页的内容</font></h1>
<ahref = "http:www.baidu.com" target = _blank>这是一个连接</a> <!--该链接会覆盖当前的网页,可以使用 target 指定-->
<!--当然现在主流的浏览器都支持中键显示,即点击连接使用鼠标中键一样可以新建页面-->
</body>
</html>
11.
HTML中很重要的貌似就是表单,先来学建表table!表格
表格是由 行和列构成 在HTML中 tr 表示行 td表示列,一些属性可以嵌套在表格等元素中
比如说 框线的宽度,默认值是零 也就是无框线!,什么位置,颜色的都可以指定
<html>
<head>
<title>百度一下你就知道</title>
<h1>标题来了</h1>
</head>
<body>
<tableborder = "1" align ="center" width = "100">
<tr>
<tdalign = "center">aa</td> <!--在行中嵌套列,表示两行三列-->
<tdalign = "center">bb</td>
<tdalign = "center">cc</td>
</tr>
<tdalign = "center">aa</td>
<tdalign = "center">bb</td>
<tdalign = "center">cc</td>
<tr>
</tr>
</table>
</body>
</html>
还有在tr中可以嵌套<th></th>这样的话内容是居中并且加粗,这种多用于表头的构造!
12.s
下面是最红要的 表单 ——form<from></form>
Text: 普通的文本框 是单一的属性 使用input typer=”text”实现
同样的有password 页面不会显示
checkBox : 复选框 即有多个分支选择, 就是那个都显示的
性别选项 , 你懂得 ,唯一,前提是属性属于同一个姓名组,下面是限制
<form>
UserName: <input type = "text"> </br> </br> <!--这个是要换行了-->
PassWord: <input type = "passWord"> </br>
爱好: : <input type = "checkBox">学习
<inputtype = "checkBox">游泳
<inputtype = "checkBox">睡觉
</P>
性别: 男:<input type ="radio" name = "Sexy">
女:<input type ="radio" name = "Sexy">
</form>
13.
下拉表单,使用select元素实现 添加使用<option>选项
14.
TextArea ;文本区<textArea></textArea>
15.
文件上传input type = “file”
16.
上面是输入区 ,接着是按钮区
提交按钮:submit <input type = “submit” value = “button name”>,如果没有制定区域的话,默认是提交当前页面的所有信息
<input type = “reset”value = “buttonName”>
重置内容,即将页面恢复至最初状态
17.
当然也有原始的button <input type = “button”>
这个按钮用于弹出对话框,涉及到javascrap内容
18.
加载图片,<imgsrc = “相同目录下图片名称,或者图片路径,或者网络图片连接”>
<form>
UserName: <input type = "text"> </br> </br> <!--这个是要换行了-->
PassWord: <input type = "passWord"> </br>
爱好: : <input type = "checkBox">学习
<inputtype = "checkBox">游泳
<inputtype = "checkBox">睡觉
</P>
性别: 男:<input type ="radio" name = "Sexy">
女:<input type ="radio" name = "Sexy">
</br>
</br>
学历: <select>
<option>本科</option>
<option>研究生</option>
<option>硕士</option>
<option>博士</option>
</select>
</br>
请描述一下你自己:
<textArea>
</textArea>
</br>
请上传文件: <input type = "file">
</br>
</br>
<inputtype = "submit" value = "提交">
<inputtype = "reset" value = "重置">
上传图片: <img src ="`MZZS8~4DNB942TU1S%~L~J.gif">
</form>
19.
电子商务专业,热忱于编程技术,大学伊始,立志成为一名出色的系统分析师;
计算机知识过硬,英语能力突出,编程软件拒绝使用中文,英语六级,听说及口语能力强,可以应付老外;
大一开始学习编程技术,学习过C、C#、最后定位于Java,并认定它就是我的饭碗和我一生奋斗的方向;在这个所谓大学的年代,我敢说我因为Java,真的就大学了一回!
精通Java SE、MySqlSqlServer 数据库、JavaWeb 编程、目前正学习Android编程
所谓证书:英语六级、计算机四级、普通话
20.
CSS:Cascading Style Sheet 层叠样式表
21.
元素具有属性!
22.
http是一个基于请求/响应模式的,无状态的协议
23.
tomCat环境变量的配置,参见web第四课时。当运行Tomcat.bat时,看到Tomcat服务器在主机端口号为8080
如果在网页上输入http://localhost:8080/则可以显示Tomcat主页面,并恭喜你安装成功了!
24
Tomcat 是一个轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你
Apache Tomcat
运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。
tomcat目录结构
/bin:存放windows或Linux平台上启动和关闭Tomcat的脚本文件
/conf:存放Tomcat服务器的各种全局配置文件,其中最重要的是server.xml和web.xml
/doc:存放Tomcat文档
/server:包含三个子目录:classes、lib和webapps
/server/lib:存放Tomcat服务器所需的各种JAR文件
/server/webapps:存放Tomcat自带的两个WEB应用admin应用和 manager应用
/common/lib:存放Tomcat服务器以及所有web应用都可以访问的jar文件
/shared/lib:存放所有web应用都可以访问的jar文件(但是不能被Tomcat服务器访问)
/logs:存放Tomcat执行时的日志文件
/src:存放Tomcat的源代码
/webapps:Tomcat的主要Web发布目录,默认情况下把Web应用文件放于此目录
/work:存放JSP编译后产生的class文件
24.
Servlet和jsp是应用于服务器端的网络技术
Servlet:小服务程序是Java服务器端编程,不同于我们之前写的一般的Java应用程序,servlet 程序是运行在服务器上的,服务器有很多种,最常用的就是Tomcat
25.
新建的web项目,webRoot文件夹下放置的是页面
26.
Myeclipse的准备工作很多,刚开始的JSP文件并不能输入中文,要修改编码格式encoding!
27.
对于JSP程序改完之后,服务器不需要重启,但是对于servlet程序来说,每一次改动都要重启服务器!
28.
我们可以将Servlet看作是
嵌套了HTML
代码的类;可以将JSP看作是潜逃了Java代码的HTML页面
不是一个jsp运行会生成一个对应servlet。而是jsp运行的时候就是转成了servlet,也就是java程序来执行。其实jsp的中的标签就相当于servlet中out.println()打印出的文本
比如我response.out.println("<i>hello</>");就相当于jsp中的<i>hello</>
。jsp也是一个servlet,有的时候我们可以把请求交给jsp。一个servlet的response,就是这个servlet要发送给浏览器的东西,如果你在这个response中打印了,文本,就会发送文本给浏览器,如果打印标签就会发送标签给浏览器,这样浏览器就解析成html了
hello.jsp
<html>
<body>
hello
</body>
</html>
执行的时候先是转成
servlet
doGet()
{
response.getWriter.println("<html>\n<body>\nhello\n</body>\n</html>")
}
然后发送<html>
<body>
hello
</body>
</html>
这些文本给浏览器,浏览器就解析为一个html了
29.
Out.flush()方法清空缓存
30.
表单将页面的信息提交个服务器,但是当然要制定提交给谁:
Form 中的action属性,制定Servlet。
也就是说jsp负责从用户端接受信息,并将信息发送给指定Servlet
比如说,用jsp制作表单,获取用户名与密码,然后在Servlet处理用户信息,是可以获取用户的各种信息的!
31.
Façade :门面模式
32.
<servlet>
<servlet-name>servlet1</servlet-name>
<servlet-class>untitled1.Servlet1</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>servlet1</servlet-name>
<url-pattern>/servlet1</url-pattern>
</servlet-mapping>
其中<servlet-name>表示Servlet的命名,<servlet-class>表示此Servlet所在哪个包,是哪个类<url-pattern>是与过滤器配合使用的,过滤器是Filter,其配置也是在这个文件里设置。找找过滤器的相关知识,就能更明白这个配置的作用。这只是很基本的配置。
33.
必须要为Servlet配置好WEB.xml文件!! Servlet-name 必须要和mapping的Servlet-name名字相同,但是名字没有固定的要求
一般要把mapping 对放在下面
34.
Get 与 post方法的区别,有空去看下吧
1. 地址栏的输出结果不同
2. 真正的原因在于向服务器段发送的形式是不同的
Post不会在地址栏中显示信息
35.
通过浏览器进行文件上传时,一定要使用post方式而绝不能使用get方式!
36.
通过浏览器地址输入网址的方式来来访问服务器端资源,
全部使用的是get方法请求的
37.
前面要配置Servlet程序,必须要建一个类继承了HttpServlet类,并且要配置web.xml文档,都是需要手工完成的,当然了MyEclipse提供了新建Servlet,也就是说会自动帮你配置好web.xml,
Wizard 安装向导:第一个是Servlet的名字,这个名字必须要和Mappingname的名字一致,这里没有显示;Mapping URL默认的前面都要加上一个servlet可以删除,避免繁杂
生成好后,可以在web.xml中发现,已经帮你配置好了
38.
表单form中有一个属性action用来指定与之对应的Servlet,建议在以jsp名称加上Servlet来命名Servlet
<form action =”testServlet”>
39.
Jsp
</head>
<body>
<form action = "Test2Servelt"><!-- 指定对应Servlet -->
username: <input type ="username" name = "username"></br>
password: <input type ="password" name = "password"/></br>
repassword: <input type = "password" name= "repassword"/></br>
age : <input type ="text" name = "age"/></br>
<input type = "submit" value= "submit"/>
<input type = "reset" value = "reset"/>
</form>
</body>
Servlet
package com.jianjian.Servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Test2Servelt extends HttpServlet
{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
{
String username = req.getParameter("username");
//为什么要采用这种形式呢?其实冲英语字面意思应该也能猜出个一二,jsp只是客户端,本身
//并没有做什么,重要的都在服务器端,也就是Servlet,是用来接受并处理客户端信息
//req--request,请求就是客户端,从客户端获取username;
//resp--respond回应;也就是服务器端
String password = req.getParameter("password");
String repassword = req.getParameter("repassword");
String ageString = req.getParameter("age");
int age = Integer.parseInt(ageString);
//用integer里的方法将字符串转换为整型;
//下面是一个输出技巧啊,拼接字符串技巧
String result = "";
if(password.equals(repassword)&&age >= 18)
{
result+="RegisterSuccessful!" ;
}
//当然可以使用if else 但是这些情况彼此之间并不矛盾,而且result也可以叠加一两项
if(!password.equals(repassword))
{
result += "Error!password do not match!";
}
if(age < 18)
{
result += "age is illegal!";
}
resp.setContentType("text/html");//回应的类型
PrintWriter out = resp.getWriter();
//将结果显示在网页上,显然是输出流;
//下面是嵌套的html代码用来处理网页输出信息,当然的想一想,控制台雨网页当然是有区别的
//html代码就是为了网页输出
out.println("<html><head><title>注册</title></head>");
out.println("<body><h1>"+ result+"</h1></body></html>");
out.flush();
//清空缓存
}
}
这里用的是doGet方法,也可以用doPost 方法,并且直接可以调用
This.doGet(req,resp)
但是jsp默认都是请求以doget方法,如果要改变必须要修改一下form
中的 method属性
默认的
<formaction = “Test2Servlet” method = “get”>修改为
<formaction = “Test2Servlet” method = “post”>
上面就是post的效果,不会在地址栏显示用户信息
40.
表单form的Action同样可以指定为jsp文件,用jsp文件来显示另一个jsp文件的信息!
Result.jsp
<body>
<%
Stringusername = request.getParameter("username");
Stringpassword = request.getParameter("password");
out.println("username:"+username+"<br>");
out.println("password:"+password+"<br>");
%>
</body>
Test2.jsp
<form action = "result.jsp" method = "get">
41.
Set就是所谓的集合,不能有重复元素
42.
/*
* 模拟双色球生成器,定义1到33号的红球组合1-16号的蓝球
*/
package com.jianjian.Servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.HashSet;
import java.util.Random;
import java.util.Set;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class DoubleColorBall extends HttpServlet
{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
{
Set<Integer> set = new HashSet<Integer>();
Random random = new Random();
// 定义六个红球
while (set.size() < 7)
{
int value = random.nextInt(33) + 1;
set.add(value);
}
// 定义的value 只不过是局部变量,外部也是可以重新定义名为value的变量的
// 下面定义篮球,
String redBall = "redBall ";
for (Integer i : set)
{
redBall += i + " ";
}
int value = random.nextInt(16) + 1;
String blueBall = "blueBall ";
blueBall += value ;
resp.setContentType("text/html");
PrintWriter out = resp.getWriter();
out.println("<html><head><title>result</title></head>");
out.println("<body><h1>"+ redBall +"</h1><br><h1>"+ blueBall + " </h1></body></html>");
}
}
43.
JSP :JavaServer Page Java服务器端页面
44.
<%%>中可以写入任何合法的Java语句
所有的程序操作都是在服务器端进行的
45.
Html注释 <!-- -->是可以在源代码中看到的
Jsp注释 <% %>在源代码中是看不到的
46.
在JSP中,最重要的部分就是Scriptlet—脚本小程序,所有嵌套在
HTML代码中的Java程序都必须使用Scriptlet标记出来,在JSP中一共有三种Scriptlet代码!
1.<%%> 主要用于声明局部变量,位于方法内的变量,每次刷新完毕,不会改变原有值 又称为脚本段,用的非常的多
2.<%!%> 主要用于声明成员变量,位于类中的,每次刷新都会改变又称为声明,用的不太多因为每次访问都要修改,那还得了
3.<%=%>
47.
看下面的声明:
区别<%%><%=%>
<html>
<head>
<body>
<% int a =3 ; %>
<% ! int b= 3; %>
<%=a--%> <br>
<%=b--%>
</body>
</head>
</html>
可以发现,每次刷新页面,输出a不变,但是b都是减一;这就是每次刷新调用方法;
48.
<jsp:forward>指令用于转向页面,在该页面后面的所有代码都没有机会执行了,因为页面的呢流程已经转向了另外一个页面了。
49.
表格 table tr 表示行
Td 表示列
50. 下面是用关联创建的表 每个表格输出数字递增
<body>
<form action = "tableOutput.jsp"method = "get" >
row:
<input type="text"name="row">
<br />
col:
<input type="text"name="col" />
<br />
<input type="submit"/>
</form>
</body>
<body>
<%
int row =Integer.parseInt(request.getParameter("row"));//获取行数
int col =Integer.parseInt(request.getParameter("col"));
int num = 1;
%>
<table border= "2"width = "80%" align = “center”>
<%for(int i = 0; i <row;i ++)
{
%>
<tr>
<%
for(int j = 0 ; j < col; j++)
{
%>
<td>
<%=num++ %>
</td>
<%}
%>
</tr>
<%
}
%>
</table>
</body>
49.但是很遗憾,上述是理想的情况,如果用户输入的是非整数,就会导致错误代码,所以最好是捕获异常,用户哪里出了错,
下面是改进后的,注意:try catch 是方法,注意变量的定义,发生异常后,如果不应该再继续进行下去,要使用return返回
<body>
<%
int row = 0;
int col = 0;
int num = 1;
try{
row = Integer.parseInt(request.getParameter("row"));//获取行数
col = Integer.parseInt(request.getParameter("col"));
}
catch(Exception ex)
{
out.println("输入格式不正确!");
return;
}
%>
<table border= "2"width = "80%" align= "center">
<%for(int i = 0; i <row;i ++)
{
%>
<tr>
<%
for(int j = 0 ; j < col; j++)
{
%>
<td>
<%=num++ %>
</td>
<%}
%>
</tr>
<%
}
%>
</table>
</body>