黑马程序员_Java Web 中的Servlet学习

-----------------------------android培训java培训期待与您交流!----详细请查看:http://edu.csdn.net/heima---------------



1、 Servlet是JAVA服务器端编程,不同于我们之前写的一般的JAVA应用程序,Servlet程序是运行在服务器上的,import javax.servlet.http.HttpServlet

public classLoginServlet extends HttpServlet

{

private voidprocess(HttpServletRequest  req, HttpServletResponse  resp)

                     throws IOException

       {

              System.out.println(req);

              System.out.println(resp);

 

              String username =req.getParameter("username1");

              String password =req.getParameter("password1");

 

              resp.setContentType("text/html");

PrintWriterout = resp.getWriter();//获取resp这个对象

 

              out.println("<html><head><title>LoginResult</title></head>");

 

              out.println("<body>username: " + username + "<br>");

              out.println("password: "+ password + "</body></html>");

 

              out.flush();

       }

}

 

写一个双色球程序:

//定义一个set集合

Set<Integer> set = new HashSet<Integer>();//不能重复的号码HashSet      

Random r = new Random();

              while(set.size() != 6)

              {

int RandomValue = r.nextInt(33)+1;

                     set.add(RandomValue);

}

              String result = "redbell:";

              //取出集合里的每个元素

              for(Integer i : set)

              {

                     result +=" "+i +"";}



1 JSP原始代码中包含了JSP元素和Template(模板data两类) JSP原始代码中包含了JSP元素和Template(模板data两类  )

2 JSP语法分为三种不同的类型  :1编译器指令(DIRECTIVE) 例如:<%@ page

import=“java.io.*”%>  2脚本语法(SCRIPTING) 3动作语法(ACTION)例如:<jsp:forward>,<jsp:getProperty>,<jsp:include>

3 脚本语法包括:

-“HTML注释”:<!— comments -->

– “隐藏注释”:<%--comments --%> 这种注释发送到客户端,但不直接显示,

在源代码中可以查看到。

– “声明”

– “表达式”

– “脚本段

4 编译器指令:包括“包含指令”,“页指令”和“taglib指令”  它们包含在“<%@  %>”卷标里。 两个主要的指令是page与include,第一行中。

<%@ pagelanguage="java" import="java.util.*"pageEncoding="UTF-8"%>

5 “Page”指令用于定义JSP文件中的全局属性。

<%@page  [ language="java" ]  [ extends="package.class" ]  [import="{package.class |package.*},..." ] [ session="true | false" ]    

[isThreadSafe="true | false" ] [ errorPage="relativeURL" ] 

[contentType="mimeType [;charset=characterSet]" | "text/html ;charset=ISO-8859-1" ] [ isErrorPage="true | false" ] %>

 

isErrorPage="true| false"  设置此页是否为出错页,如果被设置为true,你就能使用exception对象

无论把“<%@ page %>”指令放在JSP的文件的哪个地方,它的作用范围都是整个JSP页面。不过,为了JSP程序的可读性,以及好的编程习惯,最好还是把它放在JSP文件的顶部。

“<%@ page%>”指令作用于整个JSP页面,同样包括静态的包含文件。但是“<%@page %>”指令不能作用于动态的包含文件,比如 “<jsp:include>”。

6 taglib指令:<%@  taglib uri="URIToTagLibrary" prefix="tagPrefix" %>

用于引入定制标签库

客户化JSP标签:

– 理解客户化JSP标签的作用

– 了解JSPTag API

– 掌握创建并运用客户化JSP标签的步骤

– 掌握在客户化JSP标签中访问application、session、request和page范围内的共享数据的方法。

7 “<jsp:forward>”标签从一个JSP文件向另一个文件传递一个包含用户请求的request对象。“<jsp:forward>”标签以后的代码,将不能执行。向一个动态文件发送一个或多个参数,这个文件必须是动态文件。如果想传递多个参数,可以在一个JSP文件中使用多个“<jsp:param>”;“name”指定参数名,“value”指定参数值。例如:

<jsp:forwardpage="forwardTo.jsp">

  <jsp:param name="userName"value="riso"/>

</jsp:forward>

8 <jsp:include>:包含一个静态或动态文件, 

<jsp:includepage="{relativeURL | <%=expression%>}" flush="true"/>

例如:

<jsp:includepage="peixun2.10.1.jsp">

<jsp:paramname="User" value="HiFi King" />

</jsp:include> 

 

9    <% int row =Integer.parseInt(request.getParameter("row"));

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

       %>//传入的row col是字符串,用Integer.parseInt()方法得到int型。

10  JSP 有以下九种内置对象:

request,请求对象

session,会话对象

application,应用程序对象

 

“request”对象代表的是来自客户端的请求,例如我们在FORM表单中填写的信息等,是最常用的对象 。 关 于 它 的 方 法 使 用 较 多 的 是getParameter、getParameterNames 和getParameterValues,通过调用这几个方法来获取请求对象中所包含的参数的值。

Enumeration e = request.getParameterNames();

      while(e.hasMoreElements())

       {

              System.out.println(e.nextElement());             

       }

   String[] values= request.getParameterValues("age");

     for(String value : values)

     {

              System.out.println(value);       

     }

getParameter方法是getParameterValues方法的特例,表示请求参数值只有一个,如果请求参数值有多个,请使用getParameterValues方法。在多选框的情况下,需要使用getParameterValues方法来获取用户所选择的多个复选框的值。

11 “response”对象代表的是对客户端的响应,也就是说可以通过“response”对象来组织发送到客户端的数据。但是由于组织方式比较底层,所以不建议普通读者使用,需要向客户端发送文字时直接使用“out”对象即可。用于文件下载。

12 JSP声明的格式:<%! int a = 3;%>,脚本段的形式: <% int b = 3;%>,

当服务器将 JSP 转换为 Servlet 时,会将JSP 中的声明转换为类的成员变量,而将脚本段转换为方法中的局部变量,Servlet是单实例的,这样成员变量的值就只有一个,每个用户都会访问到它,而脚本段中的值则是局部变量,每个用户访问的时候各有一份,互不影响。

13   “pageContext” 对象直译时可以称作

“页面上下文”对象,代表的是当前页面运行 的 一 些 属 性 , 常 用 的 方 法 包 括findAttribute、getAttribute 、getAttributesScope 和

getAttributeNamesInScope,一般情况下“pageContext”对象用到得也不是很多

只有在项目所面临的情况比较复杂的情况下才会利用到页面属性来辅助处理。一般Servlet容器会使用该对象

14 “session”对象代表服务器与客户端所建立的会话,当需要在不同的JSP页面中保留客户信息的情况下使用,比如在线购物、客户轨迹跟踪等。Session用来保存客户端状态信息。

<%

    StringName=request.getParameter("UserName");

    session.setAttribute("LogName",Name);

  %>

15 “out”对象代表了向客户端发送数据的对象,与“response”对象不同,通过“out”对象发送的内容将是浏览器需要显示的内容,是文本一级的,可以通过“out”对象直接向客户端写一个由程序动态生成HTML文件。常用的方法除了print和println之外,还包括clear、clearBuffer、flush 、getBufferSize 和getRemaining,这是因为“out” 对象内部包含了一个缓冲区,所以需要一些对缓冲区进行操作的方法。

16 “config”对象提供一些配置信息,常用的方法有getInitParameter和getInitParameterNames,以获得Servlet初始化时的参数。

17 “page”对象代表了正在运行的由JSP文件产生的类对象,不建议一般读者使用。

18 “exception”对象则代表了JSP文件运行时所产生的异常对象,此对象不能在一般JSP文件中直接使用 , 而只能在使用了“ <%@ page isErrorPage="true "%>”的JSP文件中使用 。

19 request请求对象:与内置session对象的比较

PublicgetAttribute ();

以对象的形式返回特定名称的属性值。这个方法允许Servlet引擎给出一个客户请求的特定信息。返回值:一个包含属性值的对象,当属性不存在时为空。












-----------------------------android培训java培训期待与您交流!----详细请查看:http://edu.csdn.net/heima---------------



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值