javaWeb Note1

来源:互联网 发布:合肥网络兼职信息 编辑:程序博客网 时间:2024/06/05 09:31

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中任何地方可以放置 &nbsp;表示空格!

 

10.

<html>

       <head>

              <title>百度</title>

       </head>

                     <body>

                     百度一下<br>你就知道 你知道吗?

                     <p>    i   don't knowdf where you a&nbsp;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 = "提交">

                                                                           &nbsp;&nbsp;

                                                                           <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的中的标签就相当于servletout.println()打印出的文本

比如我response.out.println("<i>hello</>");就相当于jsp中的<i>hello</>

jsp也是一个servlet,有的时候我们可以把请求交给jsp。一个servletresponse,就是这个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:  <inputtype ="username"name = "username"></br>

   password:  <inputtype ="password"name = "password"/></br>

   repassword: <inputtype = "password"name= "repassword"/></br>

   age :      <inputtype ="text"name = "age"/></br>

       <inputtype = "submit"value= "submit"/>

       <inputtype = "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.

/*

 * 模拟双色球生成器,定义133号的红球组合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 +"&nbsp;</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>

 

      <formaction = "tableOutput.jsp"method ="get" >

 

        row:

        <inputtype="text"name="row">

        <br/>

        col:

        <inputtype="text"name="col"/>

        <br/>

 

        <inputtype="submit"/>

 

 

 

      </form>

 

 

 

 

 

 

 

   </body>

 

<body>

   

    <%

      int row =Integer.parseInt(request.getParameter("row"));//获取行数

      int col =Integer.parseInt(request.getParameter("col"));

     

      int num = 1;

     

     

    %>

    <tableborder= "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;

    }

     

     

    %>

    <tableborder= "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>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

原创粉丝点击