欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    JSP快速入门教程精品资料.doc

    • 资源ID:96698192       资源大小:431KB        全文页数:101页
    • 资源格式: DOC        下载积分:12金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    JSP快速入门教程精品资料.doc

    JSP快速入门教程第一讲(参考Java Web程序设计基础教程第1章)1 JSP 和 Java的关系   一般Java指的标注版 Java SE   另外两个版本:Java EE 和 Java ME   JSP属于Java EE的一部分。   Java EE:     组件:Web层组件(JSPServlet)业务层组件(EJB)     服务:JNDI JDBC RMI JAAS JavaMail等等   Java EE包括2个体系:标准(上面介绍的)流行(StrutsHibernateSpring)   两套体系都是JSPServlet为基础。2 JSP会涉及哪些内容   JSP语法基础(JavaHTML):       对于Java,需要掌握Java的基本语法(类定义 对象定义和使用 常用类库java.lang.*,java.util.*)       对于HTML,主要表单元素(输入)表格(显示信息)基本HTML   JSTL,标准标签库,用于输出和控制   EL,通常与JSTL一起使用,主要用于输出   Servlet,几乎所有介绍JSP的书和课程都包含Servlet,因为JSP实际上指的是Java Web开发。用Servlet主要是控制器。   JDBC,对数据库的访问。   JavaBean(Java类)3 JSP的运行环境   JDK   服务器:我们用Tomcat。其它的服务器:IBM Websphere + BEA WebLogic  + JBoss(免费的) + GlassFish(新出的Java EE 5服务器)4 JSP的开发环境   页面:DreamWeaver开发页面   代码:本文编辑器 Eclipse NetBeans JBuilder   注:我们采用记事本。5 Tomcat文件夹   webapps  主要各个应用,编写的每个应用(网站)都可以放在这个位置   bin  这个是启动服务器的相关文件,tomcat6用于命令行方式的启动,tomcat6w用于windows方式的启动   conf  用于配置,常用的是server.xml 另外一个是web.xml   work 存放临时文件   logs  系统运行时候的日志信息6 实例:hello.jsp   创建一个应用,实际上需要在webapps中创建文件夹,bookstore,相当于应用的名字   文件夹中要创建一个子文件夹WEB-INF,这个每个应用web应用都需要的。   在WEB-INF中需要web.xml,是web应用的配置文件,还应该有classes和lib子文件夹(存放类文件)   JSP文件和HTML文件直接放在bookstore下面。   hello.jsp文件内容如下:<% page contentType="text/html;charset=gb2312"%><!- 上面的代码声明文档类型和编码方式,每个JSP文件基本上都会有 -><html>   <head>      <title>第一个JSP程序</title>   </head>   <body>      Hello,晚上好!   </body>  </html>   先启动服务器:   访问程序:http:/127.0.0.1:8080/bookstore/hello.jsp   http表示协议   127.0.0.1表示主机IP地址,也可以写主机名字   8080表示服务的端口,上网的时候不用输入端口,因为采用了默认的端口,默认端口80。   bookstore表示应用,是应用的名字   hello.jsp就是资源7 JSP的运行原理   过程:      首先启动服务器,并且要保证应用在服务器上(把应用放在webapps下面,会自动加载)      在客户端通过浏览器发送请求(在地址栏中输入地址)      服务器接收到请求之后,查找有没有这个文件对应的Java文件的对象。如果没有这个对象,需要创建(先把JSP文件转换成Java文件,      编译成.class文件,加载类并创建对象),然后调用对象的相应方法,方法完成对用户的响应,通常是输出的html代码)      客户端接收到的是html代码,浏览器解析这个代码生成页面。  8 表格的语法   开始标志:<table>    结束标志:</table>   中间是行,每行是一个<tr>  </tr>   每行之间是列,每一列对应<td> </td>   <td></td>之间的内容就是每个表格中的信息*第一讲结束阳光2008-11-15 19:54:57 第二讲(参考Java Web程序设计基础教程第2章)1、form   只要是涉及向服务器提交信息,都应该使用form。   基本语法结构:   <form action="目标文件" method="get|post">      各种表单元素   </form>   action属性决定的目标文件来对用户提交的信息进行处理。2、常用的表单元素   单行文本框:用于输入少量的信息。   基本语法格式:   <input type="text" name="名字" value="值">   type="text"就说明这是单行文本框;   name指出文本框的名字,最好不要用汉字,最好使用有意义的名字;   value指出默认值,如果没有默认值,可以不要value属性,value属性经常在修改的时候使用。   注意:如果有格式要求,要明确的告诉用户。   密码框:用于输入密码。   基本的语法格式:   <input type="password" name="名字" value="值">   注意:设置密码的时候,应该使用确认密码,应该有两个密码框。   提交按钮:当点击它的时候,会把输入的信息提交给服务器。   基本语法格式:   <input type="submit" value="值">   type应该为submit,value是显示在按钮上面的信息。   复位按钮:当点击它的时候,会把各个表单元素的值恢复到默认值。   基本语法格式:   <input type="reset" value="值">     普通按钮:也可以完成提交,还可以完成方法的调用。   基本语法格式:   <input type="button" value="值">   单选按钮:通用用于在多个选项中选择一个。   基本语法格式:   <input type="radio" name="名字" value="值">   这个表示一个单选按钮,并且仅仅是一个按钮。   例,选择性别:   <input type="radio" name="sex" value="1" checked>男   <input type="radio" name="sex" value="0">女   如果希望在多个选项中选择一个(有互斥性),必须让他们的名字一致。   复选框:用于多选。   基本的语法格式:   <input type="checkbox" name="名字" value="值">   显示给用户的信息与提交给服务器的信息没有关系。   如果希望多个选项是一组,应该使用相同的名字。   下拉列表:用于选择,可以单选,也可以多选。   基本语法格式:   <select name="名字">      <option value="1" selected>1</option>      <option value="2">2</option>      .   </select>   每个选项使用一个option,使用value属性指出该选项的值,在<option>和</option>之间是显示给用户的值。   文本域:用于输入大量的信息。   基本语法格式:   <textarea name="名字" cols="列数" rows="行数">     默认值   </textarea>   要为这个文本域赋默认值,需要把值放在开始标志和结束标志之间,而不是使用value属性。3、完成输入的时候应该注意的问题   对格式的要求必须明确,包括长度、数字、日期、email、电话、必添。   能够从系统中获取的信息不要让用户提供,例如当前时间。   能够选择的信息不要让用户输入。   按照信息的重要程度安排表单元素在界面中的位置。4、对用户输入信息进行验证   要用JavaScript,使用下面的标记:   <script language="javascript">      /JavaScript代码   </script>   要写方法   function check()      方法可以不用定义返回值,但是可以有返回值   获取用户输入的值:   document.form1.username.value   document表示当前文档,form1表示表单的名字,username表示该表单中表单元素的名字,value表示得到值   把表单提交与方法关联:可以使用表单的onSubmit事件。     例:<script language="javascript">   function check()      username = document.form1.username.value;      if(username.length<6 | username.length>8)         alert("用户名长度不合适!");         return false;      else         return true;         </script>   使用button的onClick事件进行验证:   首先要把提交按钮修改成普通按钮;   在普通按钮上增加事件:onClick="javascript:check()"   在验证成功的时候,提交表单:document.form1.submit();*第二讲结束阳光2008-11-15 19:55:56 第三讲(参考Java Web程序设计基础教程第3.4章)1、include指令    作用:把多个文件中需要共享的代码放在单独的文件中,然后在需要的时候使用该指令引入这个文件。典型的应用,把网站的头部和版权信息放在单独的文件中,在其他文件中包含这两部分。    基本的语法格式:        <% include file="目标文件"%>    file属性指出目标文件。    例:把index.jsp和register.jsp中的共同部分做成单独的文件header.jsp(后缀名不一定是.jsp),然后在index.jsp和register.jsp中调用。    header.jsp中的内容如下:<% page contentType="text/html;charset=gb2312"%><table  align="center" width=780>   <tr height="100">      <td align="center"><h1>电子书店</h1></td>   </tr>   <tr>      <td align="center">         <!- 超链接的基本格式  ->         <a href="register.jsp">注册</a>         最新图书 最畅销图书 查询图书 修改密码 查询订单购物车</td>   </tr>   <tr>      <td><hr></td>   </tr>在index.jsp中引入header.jsp的代码:<% page contentType="text/html;charset=gb2312"%><% include file="header.jsp"%>   <tr>      <td>         <table>             <tr>                 <td>                     <!-登录界面代码->                     <form action="login_process.jsp" method="post">                        <!- 主要是涉及提交信息,就要用到form,action决定了提交给哪个文件处理 ->                        用户名:<input type="text" name="username" value="aaa"> <br>                        口令:<input type="password" name="userpass" value=""> <br>                        <input type="submit" value="登录"><input type="reset" value="重写">                     </form>                 </td>                 <td>                      欢迎光临我们的书店!                 </td>             </tr>         </table>      </td>   </tr></table>运行过程:在转换的时候,当遇到include指令的时候会把include指令指向的目标文件的内容拷贝到当前位置,替换include指令,这样最后形成一个文件。然后才编译形成class文件,然后运行。2、<jsp:forward>标签   我们使用登录功能的模拟来介绍。   首先,使用Java代码完成判断,使用<jsp:forward>完成跳转,代码:<% page contentType="text/html;charset=gb2312"%><%   / 先获取用户输入的用户名和口令,然后判断是否合法   String username = request.getParameter("username");   String userpass = request.getParameter("userpass");   if(username.equals("zhangsan") && userpass.equals("zhangsan")   %>       <jsp:forward page="success.jsp"/><%   else%>       <jsp:forward page="index.jsp"/><%   %>   注意:不管跳转到success.jsp还是index.jsp,地址栏都是处理文件的名字。   <jsp:forward>的语法格式:       <jsp:forward page="目标文件"/>   page属性指出转向的目标文件。最后的结束符为“/>”,斜杠不能省略。   另外一个可以完成跳转的方式是采用response.sendRedirect()。response和request一样,都是内容对象,可以直接访问。修改上面的文件:<% page contentType="text/html;charset=gb2312"%><%   / 先获取用户输入的用户名和口令,然后判断是否合法   String username = request.getParameter("username");   String userpass = request.getParameter("userpass");   if(username.equals("zhangsan") && userpass.equals("zhangsan")          response.sendRedirect("success.jsp");   else       response.sendRedirect("index.jsp");   %>   <jsp:forward>和response.sendRedirect的运行效果相同(针对上面的这个例子)。   相同点:都是转向目标文件。   不同点:地址栏中显示的内容是不相同的,如果使用<jsp:forward>,地址栏显示当前文件的名字,如果使用response,地址栏显示的是转向后的文件的名字。执行过程不同:使用<jsp:forward>相当于一次请求,使用response相当于两次请求。   使用<jsp:forward>的情况:   index.jsp中输入用户名和口令,提交给login_process.jsp,服务器保存用户的输入信息,使用<jsp:forward>转向success.jsp之后,success.jsp还可以访问用户输入的信息,因为输入同一次请求。   使用response的请求:   index.jsp中输入用户名和口令,提交给login_process.jsp,服务器保存用户的输入信息,使用response的sendRedirect方法相当于重新向服务器发送一次请求,这样上次的请求内容(用户名和口令)就不能共享了。  3、<jsp:include>标签   把index.jsp中<% include="header.jsp"%>替换成<jsp:include page="header.jsp"/>   从运行效果上相同。   不同点:1、两个文件,目标文件是单独运行的,当前文件运行到<jsp:include>标签的时候,转向执行标签所指向的目标文件,执行之后返回继续标签之后的内容。   2、<% include%>指令是在编译(转换)的时候使用,<jsp:include>在运行的时候起作用。   程序中如何选用:要导入的内容是不是每次都执行,如果每次都执行的话,应该使用<% include%>,如果是在特定的条件下,应该使用<jsp:include>。例如,登录之后要么转向success.jsp要么转向index.jsp,如果在程序中使用导入,应该用<jsp:include>。4、<jsp:include>和<jsp:forward>区别   把login_process.jsp中的<jsp:forward>替换成<jsp:include>:<% page contentType="text/html;charset=gb2312"%><%   / 先获取用户输入的用户名和口令,然后判断是否合法   String username = request.getParameter("username");   String userpass = request.getParameter("userpass");   if(username.equals("zhangsan") && userpass.equals("zhangsan")   %>       <jsp:include page="success.jsp"/><%   else%>       <jsp:include page="index.jsp"/><%   %>    运行效果是相同的。但是有不同点,修改代码如下:<% page contentType="text/html;charset=gb2312"%>处理文件的前半部分<br><%   / 先获取用户输入的用户名和口令,然后判断是否合法   String username = request.getParameter("username");   String userpass = request.getParameter("userpass");   if(username.equals("zhangsan") && userpass.equals("zhangsan")   %>       <jsp:include page="success.jsp"/><%   else%>       <jsp:include page="index.jsp"/><%   %><br>处理文件的后半部分两次运行结果不相同。分析原因:   <jsp:forward>:先执行标签之前的内容,遇到标签的时候转向执行目标文件,执行完不返回,显示的内容为目标文件的内容,标签之前的内容执行,但是不显示。标签之后的内容不会执行,当然更不会显示。   <jsp:include>:先执行标签之前的内容,遇到标签转向执行目标文件,执行完返回,继续执行标签之后的内容,显示的内容为:标签之前的内容+目标文件的内容+标签之后的内容,标签的前后都执行,都显示。5、使用标准标签库(JSTL)完成登录的判断过程   如何使用标签标签库:(1)得到标签库的实现文件,jstl.jar和standard.jar,放在WEB-INF下面的lib子文件夹。(2)在JSP文件中要声明标签库,通过tablib指令进行声明:<% taglib prefix="c" uri=" (3)使用标签:<c:if test="">  </c:if>   要完成判断,可以使用标签标签库中的c:if标签。标签的基本格式:   <c:if  test="">条件成功要执行的内容</c:if>   test表示测试条件,测试条件可以写常量,可以是表达式语言(EL,主要用于输出),主要使用表达式语言。   例如:要判断用户提交的用户名和口令是否是zhangsan。   <c:if test="$param.username="zhangsan" && param.userpass="zhangsan"">       <jsp:forward page="success.jsp"/>   </c:if>   注意:添加完标准标签库之后,需要重新启动服务器。6、使用session保存登录后的信息   在网站中设置了application session request pageContext对象保存内存中的信息。application是网站所有用户共享的存储变量的位置。session是网站为每个访问网站的人创建的,每个用户对应一个session,也是存放变量的位置。request是为每个用户的每次请求设置的存储信息的位置,每次访问会有一个request。pageContext是每次访问的每个页面对应一个。常用的session和request。多次访问之间要共享信息可以使用session,如果在某次访问的多个页面之间共享信息使用request(例如,使用jsp:forwrad转向的文件和当前文件就属于同一次请求)。   登录后的用户信息应该放在session中。   要在这些范围中保存信息,可以使用标准标签库中的<c:set>标签完成。   <c:set>的基本语法格式:   <c:set var="变量的名字" scope="范围" value="值"/>     要把用户名放到session中:   <c:set var="username" scope="session" value="$param.username"/>*第三讲结束阳光2008-11-15 19:57:13 第四讲(参考Java Web程序设计基础教程第6章)1、对Servlet的理解    Servlet是一种Java类。    Servlet能够完成与JSP相同的功能。能够接收用户的请求,能够调用功能类的方法,可以对用户进行响应。    Servlet和JSP同属于Java EE中Web层组件。2、如何编写一个Servlet    假设:该Servlet的功能为显示欢迎信息。    Java文件的编写过程:(1)声明包 (2)引入用到的其他的类 (3)类的编写    对于类:(1)类头修饰符 class关键字 类名 继承父类 实现接口            (2)类体成员变量 构造方法 对属性进行操作的方法 功能类方法    对于成员变量:修饰符类型 变量名(对象名)    对于方法(不包括构造方法):修饰符 返回值类型 方法名 参数列表 异常列表 方法体    对于方法体:变量的声明各种运算 调用其他的方法 返回结果    (1)声明包,假设包名为servletpackage servlet;    (2)引入用到的类,javax.servlet.* javax.servlet.http.* java.io.*import java.io.*;import javax.servlet.*;import javax.servlet.http.*;    (3)类头的定义    访问控制符:public    类名:HelloServlet    继承父类:javax.servlet.http.HttpServlet    实现接口:没有要实现的接口public class HelloServlet extends HttpServlet    (4)方法的定义    主要的方法:init方法(用于初始化) destroy方法(释放资源) doGet或者doPost(完成主要功能)    通常主要实现doGet方法或者doPost方法,分别对应客户端的get请求和post请求。public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException    / 设置编码方式GB2312,GBK,utf8    response.setContentType("text/html;charset=gb2312");    / 得到输出流对象    PrintWriter out = response.getWriter();    out.println("欢迎学习JSP!");public void doPost(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException   doGet(request,response);3、编译存放   需要用到javax.servlet.*和javax.servlet.http.*,两个包的实现在tomcat下面的lib中,名字为servlet-api.jar。   放在(编译后的Servlet):WEB-INF/classes   配置path: 把C:Program FilesJavajdk1.6.0bin添加到path中,但是不能破坏原有的路径。   配置classpath:把C:Program FilesApache Software FoundationTomcat 6.0libservlet-api.jar;添加到classpath中。   编译:在命令行方式下进入到classes目录,然后使用 javac -d . HelloServlet.java   -d表示生成包的路径,.表示在当前位置生成。4、配置Servlet   配置文件及位置:WEB-INF下面的web.xml。   配置包括两个方面:Servlet的声明 以及 Servlet访问方式的声明   Servlet的声明:   <servlet>      <servlet-name>hello</servlet-name>      <servlet-class>servlet.HelloServlet</servlet-class>   </servlet>     其中,<servlet-name>表示这个servlet的名字,可以随便起。<servlet-class>是对应的Servlet类,应该包含包的信息。   Servlet访问方式的声明:   <servlet-mapping>      <servlet-name>hello</servlet-name>      <url-pattern>/hello</url-pattern>   </servlet-mapping>   其中,<servlet-name>和Servlet声明中的用法相同,并且应该与Servlet声明中的名字保持一致。<url-pattern>表示访问方式,决定了在客户端如何访问这个Servlet。5、访问Servlet   http:/127.0.0.1:8080/bookstore/hello6、用Servlet完成login_process.jsp的功能    login_process.jsp主要功能,判断用户输入的用户名和口令是否合法,然后根据判断的结果选择界面对用户响应。    对于JSP文件来说,优势在于显示信息,login_process.jsp中的代码都不是显示信息的,主要用于控制。在Java Web应用中存在大量的这种现象。是Java Web中的控制功能。主要使用Servlet完成控制。    login_process.jsp的基本功能:获取用户的输入信息;进行判断;转向。    如果使用Servlet完成,功能代码应该写在doGet或者doPost方法中。对应上面的3个功能分别实现如下:    获取用户信息:用户信息存储在doGet或者doPost方法的第一个参数中,所以从参数中获取,获取的代码为        String username = request.getParameter("username");        String userpass = request.getParameter("userpass");    判断:        if( username.equals("zhangsan") && userpass.equals("zhangsan") )    转向响应界面:        第一种方式:response.sendRedirect("index.jsp");        第二种方式:与<jsp:forward>功能相同        RequestDispatcher rd = request.getRequestDispatcher("index.jsp");  / 参数是要转向的页面        rd.forward(request,response); / 完成跳转LoginProcessServlet.java代码如下:package servlet;import java.io.*;import javax.servlet.*;import javax.servlet.http.*;public class LoginProcessServlet extends HttpServlet  public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException          / 获取用户输入的信息        String username = request.getParameter("username");        String userpass = request.getParameter("userpass");        if( username.equals("zhangsan") && userpass.equals("zhangsan") )                   RequestDispatcher rd = request.getRequestDispatcher("success.jsp");  / 跳转到成功的页面           rd.forward(request,response); / 完成跳转        else                   RequestDispatcher rd = request.getRequestDispatcher("index1.jsp");  / 跳转到登录页面           rd.forward(request,response); / 完成跳转            public void doPost(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException       doGet(request,response);  配置文件中添加如下代码:   <servlet>      <servlet-name>login_process</servlet-name>      <servlet-class>servlet.LoginProcessS

    注意事项

    本文(JSP快速入门教程精品资料.doc)为本站会员(封****n)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开