上周开始学习JSP,消化了几天,把学的东西在此整理了一下,如有纰漏还望大家多多指正!

2013.4.17第一次课收获:   

不使用MyEclipse部署一个Web项目的两种方法:

1、打开tomcat进入到Webapps文件夹(所做的网站项目可以选择放在此文件夹中),在Webapps中新建一个文件夹作为根目录(文件名无要求,例MyFirstJSP),在MyFirstJSP中新建一个名为WEB-INF的文件夹(在此文件夹中新建名为classes的文件夹(放java源文件编译生成的.class文件)和名为lib的文件夹(放所需jar包)以及后缀为.xml的文档(名字随意,例web)),同时在MyFirstJSP中新建一个文本文档(后缀可以是html也可以是jsp,后缀为html在服务器运行后在tomcatWork文件夹中MyFirstJSP目录下没有内容,jsp后缀则有内容),上述工作完成后便可启动服务器,在浏览器中输入http:\\localhost:8080\MyFirstJSP,回车便可看到我们刚才写的页面内容(附html文档代码:

<html>

    <head>

        <title>我的第一个页面 </title>

    </head>

    <body>

        测试页面

    </body>

</html>)

Jsp文档代码在html文档代码前加上

<%@ page language="java" contentType="text/html;charset=gb2312" %>

Jsp语言即可,并将web.xml代码中

<welcome-file>index.html</welcome-file>

html改为jsp

2、自建的项目(MyFirstJSP)未放在Webapps中,在tomcat文件夹中找到conf文件夹,打开server.xml文件,在<host> </host>中间加上代码:

<Context path="/first" docBase="e:\MyFirstJSP"/>  docBaseMyFirstJSP项目所存放的位置,path将项目重命名。

使用MyEclipse并配置服务器tomcat,新建一个Web Project 工程

 

2013.4.19&&2013.4.20第二次课&&第三次课收获:

Servlet作用:在服务器端处理从页面传过来的请求

Servlet生命周期:在Web容器中,Servlet的实例只会被创建一次(不包括分                 布式应用)

部署一个简单的Servlet

我们编写的Servlet一般直接继承HttpServlet(注意不等同于Servlet,它是Servlet的一个常用扩展), 因为它封装了Http协议Servlet的大部分功能。

 

WEB-INF\web.xml文件中配置这个Servlet,最主要是配置Servlet的名字、类,以及给这个ServletURL映射,客户通过这个映射来访问Servlet

 

指定名字和类

<servlet>

    <servlet-name>wlcservlet</servlet-name>

    <servlet-class>tom.jerry.WelcomeServlet</servlet-class>

</servlet>

 

URL映射

<servlet-mapping>

    <servlet-name>wlcservlet</servlet-name>

    <url-pattern>/welcome</url-pattern>

</servlet-mapping>

 

 

从客户端发送请求有两种方式:getpost

get:通过浏览器地址栏发送的请求(参数会在地址栏显示)

post:使用form表单时,可以设置form表单的method=post,使用post方式发送请求

 

 

Html(Hypertest Markup Language:超文本标记语言)

基本格式(字母不区分大小写):

<HTML> 
<HEAD> 

  <TITLE> 网页的标题 </TITLE> 
</HEAD> 
<BODY> 

  网页的内容,很多标记都作用于此 
</BODY> 
</HTML> 

排版标记:

注释:<!--注释-->

作用:浏览器会忽略此标记中的文字(可以是很多行)而不作显示,使用目的: 为文中不同部份加上说明,方便日后修改用作版权声明。

 

换行:<BR></BR>

作用:令字、画、表格等显示于下一行。由于浏览器会自动忽略原始码中空白和换行的部分,这令<BR>成为最常用的标记之一。

 

水平线:<HR></HR>

作用:插入一条水平线,如:<HR align="LEFT" size="2" width="70%" color="#0000FF" noshade>

 

居中:<CENTER></CENTER>

作用:令字、画、表格等显示于中间。 (注意:结束标记)

 

预设格式:<PRE><PRE>

作用:令文件按照html原码的排列方式显示。这将允许我们保留原始码中输入的空白。

 

字体标记:<H1> 至 <H6>

作用:由 <H1> 至 <H6> 变粗变大加宽的程度逐渐减小。每个标题标记所标示的字句将独占一行且上下留一空白行。例:居中标题写法 <h1 style="text-align:center">欢迎来访</h1>或<center>   <h1>欢迎 欢迎</h1>    </center>

 

链接标记:<A></A>

<A> 与 </A> 所围的文字、图片等等均可以成为一个链接。

例如:<a href="index.html" name="hello"  target="_blank"> index </a>

 

链接基准标记:<BASE>

作用:用以改变文件中所有链接标记的参数内定值。它只能放在文件的开头部分,即标记 <HEAD></HEAD> 之间,例如:<base href="http://www.microsoft.com/" target="_blank"> 

则该网页内所有<A>链接将以http://www.microsoft.com为基准的起点路径,并且新打开的网页会显示在一个新的浏览器窗口中。

 

Form表单:

<FORM>称为表单标记,属于一个容器标记,表示其它表单标记需要在它的包围中才有效,<INPUT>便是其中的一个,用以设定各种输入资料的方法。它是一个空标记。

 

<FORM> 的常用属性设置:

例:<form action="http://localhost/tag/example.jsp" method="POST">

action:表单提交的目的网页url

method:传送表单信息给目的网页的方式,可选值为POST, GET等。

 

<INPUT>的常用属性设置:其第一个参数type己有很多的选择(Text  Password  Submit  Reset  Radio  Checkbox  Image  File),而不同的选择表示不同的输入方式,且其它参数也会因此而异。

type=Text   例:<input type="Text" name="age" value="20" align="MIDDLE" size="2" maxlength="255"> 

type=Password 例:<input type="Password" name="pw" value="999" align="MIDDLE" size="5" maxlength="9"> 

 

表格标记:<TABLE> <TR> <TD><TH><CAPTION>

<Table>的常设属性

Width:表格宽度,接受绝对值(如 80)或相对值(如 80%

Border:表格边框厚度 

Cellspacing:表格格线厚度 

Cellpadding:文字与格线的距离 

 

<TR>的常设属性

Align:该行内字画等的对齐方式(水平)

Valign:该行内字画等的对齐方式(垂直)

Bgcolor:该行底色 

 

<TD>的常设属性

Width:该单元格宽度,可接受绝对值或相对值

Height:该单元格高度

Align:该单元格内字画水平对齐方式

Valign:该单元格内字画垂直对齐方式

Bgcolor:该单元格底色

 

<TH>

<TH><TD>同样是标示一个单元格,唯一不同的是<TH>所标示的单元格中的文字是以粗体居中出现,通常用于表格第一行显示表格字段名。 

 

<CAPTION>

<CAPTION> 的作用是为表格增加一个标题行

 

在<input type =“。。。”>中加入如下代码可实现页面的跳转

例:<input type="button" value="返回" onClick="window.location.href=''">

(''为空则返回到跳转到此页面的页面中,也可以在''中加上想要跳转的页面名)

 

<td><input type="submit" value="提交" onclick="window.open('MyJsp.jsp')">

(点击按钮直接跳转到MyJsp.jsp页面

 

JSP语法简介:

 

Html注释:<!-- <%=new java.util.Date()%> -->之间

——JSP引擎会把HTML注释交给客户,客户通过浏览器查看源文件时,能够看到html注释。

JSP注释:<%-- 和 --%> 之间

——JSP引擎忽略JSP注释,当然不会发送给客户。

Java程序片中的注释完全同java程序的注释,可以用://, /* */

 

指令标签:

 

page指令:

用来定义整个jsp页面的一些属性和这些属性的值,属性的值一般用双引号括起来,例:

<%@ page contentType=text/html;charset=gb2312” import=java.util.*” %>

 

如果要为一个属性指定多个值的话,这些值用隔开。事实上,page指令只能给import属性指定多个值,其他属性只能指定一个值,例:

<%@ page contentType=text/html;charset=gb2312” import=java.util.*,  java.io.*, java.awt.*” %>

 

Page指令对整个页面有效,与其书写的位置无关,但习惯上把page指令写在jsp页面最开始。

page指令可设置的页面属性有:

 

1、language属性

定义jsp页面使用的脚本语言,目前只能取值为java,即:<%@ page language=java” %>  此指令在jsp页面中已默认存在

 

2、 import属性

jsp页面中引入java类,jsp页面默认import属性已经有了如下值:

java.lang.*, javax.servlet.*, javax.servlet.jsp.*, javax.servlet.http.*

 

3、contentType属性

定义jsp页面响应的MIME(Multipurpose Internet Mail Extension)类型和JSP页面字符的编码,属性值一般形式为:”MIME类型; charset=编码”如:

<%@ page contentType=text/html;charset=gb2312” %>

contentType默认为: text/html; charset默认为ISO-8859-1

 

4、 session属性

设置是否需要使用内置的session对象,默认为true

 

5、buffer属性 <img src=/a.jpg>

内置输出流对象out的缓冲区大小,默认为8kb,可设置为”none”,如:

<%@ page buffer=64kb” %>

 

6、autoFlush属性

out是否可自动刷新,默认值为true

 

7、 isThreadSafe属性

Jsp页面是否可多线程访问,默认值为true,可同时响应多个客户;如果设置为false,jsp页面同一时刻只能处理一个客户的请求,其他客户需要排队。

 

8、 pageEncoding <%@ page pageEncoding=gb23120%>

    <%@ page contenType=;charset=gb2312%>   JSP页面的字符编码,默认为iso8859-1

 

9、 isELIgnored

表达式语言${}在页面中是否被忽略,默认为true

 

10、errorPage

定义此页面出现异常时调用的页面,默认忽略,如:

<%@ page errorPage=error/error.jsp” %>

 

11、 isErrorPage属性

表明当前也是否为其他页的errorPage目标,如果被设置为true,则可以使用exception对象,反之则不可以使用exception对象,如:<%@ page isErrorPage=true” %>

 exception.getMessage() exception.printStackTrace();

 

Include指令:

在此指令出现的地方整体静态嵌入一个文件,使用格式:<%@ include file=“要嵌入的文件的名字” %>

(注意:插入的文件必须是可访问(存在)和可使用的,插入的内容已被转译到了jsp对应的java文件中,所以在tomcat服务期间对被插入的文件作修改后并不能体现效果,除非重新启动tomcat,或者简单更新并重新保存该jsp文件,这样的话可产生新的转译java文件。) >>不能使用表达式<<

 

Include动作指令:

使用格式:<jsp:include page=“文件的名字" />

其功能是动态包含一个文件,即jsp页面运行时才将文件加入:与前面的include指令不同,当jsp引擎将jsp页面转译成java文件时,不把jsp页面中的include动作标签所包含的文件与原文件合并成一个jsp页面,而是告诉java编译器,当这个文件在jsp运行时(java文件的字节码文件被加载执行时)才被包含进来。因此jsp页面与它所包含的文件在逻辑和语法上是独立的,如果对所包含的文件进行了修改,运行时能立刻看到包含文件修改后的结果。  >>可以使用表达式<<

posted on 2013-04-23 21:16  翻滚的小豆哥  阅读(785)  评论(0编辑  收藏  举报