Menu
Woocommerce Menu

Linux中智能小开关rfkill

0 Comment

Java基础——JSP(二),java基础jsp

一、JSP隐式对象概述

为了简化jsp表达式和脚本片断代码的编写,JSP一共提供了9个预先定义的变量,这些变量也称为隐式对象或内置对象。

在 jsp生成的Servlet源码中,有如下声明:

public void _jspService(final javax.servlet.http.HttpServletRequest request, final javax.servlet.http.HttpServletResponse response)
                    throws java.io.IOException, javax.servlet.ServletException {

                //这里声明了内置对象
                final javax.servlet.jsp.PageContext pageContext;
                javax.servlet.http.HttpSession session = null;
                final javax.servlet.ServletContext application;
                final javax.servlet.ServletConfig config;
                javax.servlet.jsp.JspWriter out = null;
                final java.lang.Object page = this;
                javax.servlet.jsp.JspWriter _jspx_out = null;
                javax.servlet.jsp.PageContext _jspx_page_context = null;

                //有一些内置对象是在这初始化的
                try {
                  response.setContentType("text/html;charset=UTF-8");
                  pageContext = _jspxFactory.getPageContext(this, request, response,
                              "err_page.jsp", true, 8192, true);
                  _jspx_page_context = pageContext;
                  application = pageContext.getServletContext();
                  config = pageContext.getServletConfig();
                  session = pageContext.getSession();
                  out = pageContext.getOut();
                  _jspx_out = out;

                  out.write('\r');
                  out.write('\n');
                  ....
                }

这里能找到8个内置对象, 还差一个 exception。

只要在专门用于错误处理的页面,才有这个 对象,将页面设为错误页: <%@ page
isErrorPage=”true” %>,则会发现 在上面的 _jspService
方法中又多了一个 exception 对象,Throwable exception =
org.apache.jasper.runtime.JspRuntimeLibrary.getThrowable(request);

* 共有九大内置对象

//九大内置对象
1.request    //HttpServletRequest
2.response   //HttpServletResponse
3.pageContext //pageContext
4.application //ServletContext
5.session //HttpSession
6.page  //Object
7.out //JspWriter
8.exception //Throwable
9.config //ServletConfig

1.request对象  //HttpServletRequest

* request 获取请求参数的方法

— String getParamter(String name)

— Enumeration getParameterNames();  //得到所有请求参数的名称

— String [] getPrameterValues(String name) ; //取得所有的相同name的值

public class StrUtil {
    public static String linkListSql(String [] list){
        String str="(";
        for(int i=0;i<list.length;i++){
        if(i<list.length-1){
        str+=list[i]+",";
        }else{
            str+=list[i];
            }
        }
        str+=")" ;
        return str;
        }
    }
//dao中:
public int delUsers(String[] idList) {
        String sql="delete from userInfo where id in "+StrUtil.linkListSql(idList);
        System.out.println(sql);
        return DBUtil.update(sql, null);
        }

–Map getParameterMap() //得到一个Map

public void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {    
    Map<String,String[]> map =request.getParameterMap();    

    Set<Map.Entry<String,String[]>> entrySet=map.entrySet();
    Iterator<Map.Entry<String, String[]>> it=entrySet.iterator();        
        while(it.hasNext()){
            Map.Entry<String, String[]> item=it.next();
            System.out.println(item.getKey()+":");
            String [] valueList=item.getValue();
            for(int i=0;i<valueList.length;i++){
                System.out.println(valueList[i]);
            }    
            System.out.println("--------");
            }
    }

2.request 获取请求头的方法

— getHeader(String name)   //根据请求头的名称得到内容

图片 1

— Enumeration getHeaderNames() //取得所有的请求头名称

— int getIntHeader(String name) //根据名称,得到整数类型的标头

— Cookie [] getCookies() //取得所有与请求头相关的Cookie

Enumeration  headList =request.getHeaderNames();
    while(headList.hasMoreElements()){
    String headerName=headList.nextElement().toString();
    System.out.println(headerName+":");
    System.out.println(request.getHeader(headerName));
    System.out.println("----");    
    }

* request

String getContextPath() //取得Context路径     — /show-admin-mvc

String getMethod() //取得Http 方法(GET ,POST)      –GET

String getProtocol() //取得使用的协议(HTTP/1.1,HTTP/1.0)     –HTTP/1.1

String getQueryString() //取得请求的参数字符串,不过HTTP的方法必须为GET
     –userName=f e=f&password=f e=f

String getRequestSessionId() //取得客户端的SessionId

String getRequestURI() //取得请求的URL,但不包扩请求的参数 字符串     
–UserWeb/Test.jsp

String getRemoteAddr() //取得用户的IP地址  很有用

String getRemoteHost() //取得用户的主机名

int getRemotePort() //取得用户的主机端口

String getRemoteUser() //取得用户的名称

void setCharacterEncoding(String encoding)
//设置编码格式,用来解决页面传递中文的问题

3.response 对象

将处理jsp处理数据后的结果返回给客户端,该对象实现javax.servlet.http.HttpServletResponse
接口

* 设定响应头的方法

void addCookie(Cookie cookie)

void addDateHeader(String name,long date)

void addHeader(String name,String value);

void addIntHeader(String name,int value);

void setHeader(String name,String value);

* 设定响应状态码的方法

void sendError(int sc); 传递状态码(status code)

void sendError(int sc,String msg)传送状态码和错误信息 
//response.sendError(404,”哈哈,错了,活 gai  ” );

void setStatus(int sc) 设定状态码

* 用于重定向的方法

sendRedirect(String url);

4.session 对象

实现 javax.servlet.htt.HttpSession接口

setAttribute(String name,Object obj);   

long getCreationTime()
取得Session产生的时间,毫秒,从1970年1月1日零时起算

String getId() //取得Session 的 Id

long getLastAccessedTime() 最得最后用这个Session发送的时间,同上

void invalidate() 取消session对象 并将其存放的内容释放

boolean isNew()  判断Session是否为新 (服务器产生,但client尚未使用)

void setMaxInactiveInterval(int interval) 过期时间,以秒为单位

5 application 对象

实现javax.servlet.ServletContext 接口

服务器启动后它就产生了

* 容器相关信息的方法

int getMajorVersion() //取得Container主要的Servlet API 版本   –2

int getMinorVersion //取得次版本

String getServerInfo () //取得Container 的名称和版本

* 有关服务器的路径和文件的方法

String getMimeType(String file)取得指定文件的MIME类型

ServletContex getContext(String uripath)取得指定Local URL 的
Application context

String getRealPath(String path) 取得本地端path的绝对路径

例如 : <%
out.println(application.getRealPath(“Login.jsp”));%>//C:\Program
Files\Tomcat 6.0\webapps\UserWeb\Login.jsp

* 有关日志记录的方法

void log(String msg)将信息写入日志文件中

void log(String msg,Throwable throwable)将stack
trace所产生的异常信息写入log文件中

6.pageContext 对象  //PageContext

提供了返回JSP页面的其他隐式对象的方法

getPage()

getRequest()

getResponse()

getServletConfig()

getServletContext() //返回applaction隐式对象

getSession()

getException()

getOut()

pageContex 对象是通过调用 JspFactory.getPageContext 方法获得的

描述 JSP 文档的运行环境提供对所有其他隐式对象及其属性的访问

void forward (path) //可以进行跳转, 属于请求的转发  // 
pageContext.forward(“login.jsp”);

ServletConfig getServletConfig() //返回servlet配置对象(即config对象)

///例子
    public void test(PageContext context){
             context.getRequest().setAttribute("requestKey","这是往request放的东西");
             context.getSession().setAttribute("sessionkey", "这是往session放的东西");
             context.getServletContext().setAttribute("applicationKey", "这是application的");
     }

7.exception 对象  // Throwable

要使用它,必须在当前页面设置  。。。 isErrorPage=”true”  %>

别的页页设置 errorPage=”ErrProcess.jsp”%>

8.page对象

Object page=this  表示jsp页面本身

9.config对象  //ServletConfig

存储 Servlet 配置对象,是 javax.servlet.servletConfig 接口的一个实例。

重要方法:

Enumeration getInitParameterNames()

String getInitParameter(name)

10.out对象  JspWriter

用来向jsp页面发送文本形式的实体内容,它是调用pageContext
的getOut()方法取得的它和以前学的 ServletResonse.getWriter方法返回的
PrintWriter 对象常相似,但两者是不同的对象。JSP中的out
的类型为JspWriter,相当于一个带缓存功能的PrintWriter,相当于PrintWriter的包装类

11.访问各个域范围中的属性

在pageContext, request,session,appaction 对象中,都可以调用 setAttribute
和 getAttribute 方法来设置和检索属于各自域范围内的属性,
它们的不同之处如下:

–appaction 中的,可以被同一个web应用程序中所有的Servlet和JSP页面访问

–session 中的,可以被同一个会话所有的Servlet和 JSP页面访问

–request 中的,可以被同一个请求中的所有Servlet 和 js页面访问

–pageContext 中的,仅可以被当前JSP页面的当前响应过种中调用的各个组件访问

pageContext
类还提供了对个各域范围的属性进行统一管理的方法,它的setAttribute
方法有如下重载

      * public void  setAttribute(String name,Object value); //page范围

      * pbulic void setAttribute(String name,Object value,int scope) 
//scope 指定域范围

scope 对应的常量: PageContext. //这几个常量定义在 PageContext 类中

APPLICATION_SCOPE,

SESSION_SCOPE,

REQUEST_SCOPE,

PAGE_SCOPE

//例子

pageContext.setAttribute("key",value,PageContext.SESSION_SCOPE)  //相当于往session中放值

12.Mime类型

不管浏览器接收到的是什么数据,实际上都是0,和 1
给成的二进制数据,浏览器不知道它,接收的是图片,普通网页,还是Excel文档,因为此,web服务器必须通过某种方式告诉浏览器所接收的实体内容代表的是哪种格式的数据,浏览器才能正确的处理,计算机应用中有多种通用数据格式,人们为每一种通用的数据格式都定义了一个名称,称为
MIME (Mutipurpose Internet Mail Extension 多用途Internet 邮件扩展)
类型Content-Type头字段用于指出实体中内容的Mime
类型,大多数Web服务器都可以设置文件扩展名和Mime类型的对应关系。在tomcat
中,可以在 C:\Tomcat6.0\conf\web.xml
中找到大量的这种Mime类型的对应设置。

一、JSP隐式对象概述
为了简化jsp表达式和脚本片断代码的编写,JSP一共提供了9个预先定义的变量,这些…

Rfkill,其中rf是Radio
frequency(射频),主要作用是一个专门管理开关的子系统,举例说明Android手机的通知栏可以方便地开关Airplane/BT/WiFi/Data/GPS,使用起来着实很方便。但是这是Android系统上层统一实现的,对应Linux内核以前是没有统一的实现,随着这种情况的增多也有专门的子系统来集中实现这个功能。这正是rfkill的工作。

java 基础四,java基础

上述的几个控制例子中,或许它们每个功能被发明时都是一场革命,原理甚或配置都可能相当复杂,但是对最终的用户来说,使用最多的也就是「开关」。

1 for循环嵌套

  • 简而言之,就是一个for循环语句里面,还有一个for循环语句。
  • 外层循环,每循环一次,内层循环,循环一周。

 

  • 示例

package java003;

/**
 * 2017/9/1.
 * 说明:
 */
public class ForForDemo {
    public static void main(String[] args) {
        for(int x = 0;x<= 3 ;x++){
            System.out.print("x="+x+" ");
            for(int y = 0;y<=4;y++){
                System.out.print("y="+y);
            }
            System.out.println();
        }

    }
}

图片 2

 

  • 练习:打印一个四行5列的矩形

package java003;

/**
 * 2017/9/1.
 * 说明:
 */
public class ForForTest {
    public static void main(String[] args) {
        for(int x = 1; x <= 4; x++){
            for(int y = 1; y<= 5;y++){
                System.out.print("*");
            }
            System.out.println();

        }
    }
}

图片 3

 

  • 示例:

package java003;

/**
 * 2017/9/1.
 * 说明:
 */
public class ForForTest {
    public static void main(String[] args) {
        for(int x = 1; x <= 5; x++){
            for(int y = 0; y<= 5 - x;y++){
                System.out.print("*");
            }
            System.out.println();

        }
    }
}

package java003;

/**
 * 2017/9/1.
 * 说明:
 */
public class ForForTest {
    public static void main(String[] args) {
        for(int x = 1; x <= 5; x++){
            for(int y = x; y<= 5 ;y++){
                System.out.print("*");
            }
            System.out.println();

        }
    }
}

图片 4

 

  • 示例:

package java003;

/**
 * 2017/9/1.
 * 说明:
 */
public class ForForTest {
    public static void main(String[] args) {
        for(int x = 1; x <= 5; x++){
            for(int y = 1; y<= x ;y++){
                System.out.print("*");
            }
            System.out.println();

        }
    }
}

图片 5

 

  • 示例:九九乘法表

package java003;

/**
 * 2017/9/1.
 * 说明:
 */
public class ForForTest {
    public static void main(String[] args) {
        for(int x = 1;x<=9;x++){
            for(int y = 1; y <= x; y++){
                System.out.print(y +"*" +x +"="+(y*x)+"\t");
            }
            System.out.println();

        }
    }
}

图片 6

使用范例,监听无线网卡硬件变化:

 2 其他的流程控制语句(break和continue)

  • break(跳出)
    • 应用范围:
      • switch语句
      • 循环语句
    • 注意:
      • break语句单独存在的时候,break语句下面不能定义其他语句,因为执行不到。
      • 当循环为多层循环的时候,break默认跳出的是内层循环。        
  • continue(继续)
    • 应用范围:
      • 循环语句  

 

  • 示例:

package java004;

/**
 * 2017/9/2
 * 说明:
 */
public class BreakContinueDemo {
    public static void main(String[] args) {

        for (int x = 0 ;x <=5;x++){
            if(x == 2){
                break;
            }
            System.out.println("x="+x);

        }

    }
}

x=0
x=1

 

$ rfkill

3 函数(方法)

Usage: rfkill [options] command

3.1 函数的定义

  • 什么是函数?
    • 函数就是定义在类中的具有特定功能的一段独立小程序。
    • 函数也称为方法。  
  • 函数的格式:

访问修饰符 返回值类型 函数名(参数类型 形式参数1,,参数类型 形式参数2,……){
    执行语句;
    return 返回值;
}
返回值类型:函数运行后的结果的数据类型。
参数类型:是形式参数的数据类型。
形式参数:是一个变量,用来存储调用函数时传递给函数的实际参数。
实际参数:传递给形式参数的具体数值。
return:用于结束函数。
返回值:该函数运算后的结果,该结果会返回给调用者。

 

  • 示例:

package java004;

/**
 * 2017/9/3
 * 说明:
 */
public class FunctionDemo {
    public static void main(String[] args) {
        int result = FunctionDemo.add(1,2);
        System.out.println("result="+result);
    }
    public static int add(int a,int b){
        return a + b;
    }

}

 

Options:

3.2 函数的特点

  • 如果函数没有具体的返回值
    • ①return后面直接用分号;结束。
    • ②返回值的类型为void,Java中用void表示该函数没有具体的返回值。 
    • ③如果返回值的类型是void,那么函数中的return语句可以省略不写(具体问题具体分析)。 
  • 定义函数可以将功能代码进行封装。
  • 便于对该功能进行复用。
  • 函数只有被调用才会被执行。
  • 函数的出现提高了代码的复用性。
  • 注意:
    • 函数中不能调用函数,不可以在函数内部定义函数。
    • 定义函数的时候,函数的结果应该返回给调用者,交由调用者处理。  

 

–version show version
(0.4-1Ubuntu3 (Ubuntu))

3.3 函数的重载(overload) 

  • 重载:
    • 概念:在同一个类中,允许存在一个以上的同名函数,只要它们的参数个数或者参数类型不同即可。
    • 特点:与返回值无关,只看参数列表和函数名字。
    • 重载的好处:方便于阅读,优化了程序设计。  

 

  • 示例:

package java004;

/**
 * 2017/9/3
 * 说明:重载
 */
public class OverLoad {
    public static void main(String[] args) {
        int result = add(1,2);
        System.out.println("两个整数的和:"+result);

        result = add(1,2,3);
        System.out.println("三个整数的和:"+result);

        double d = add(3.0,4.0);
        System.out.println("两个浮点数的和:"+d);

    }

    /**
     * 求两个整数的和
     * @param a
     * @param b
     * @return
     */
    public static int add(int a,int b){
        return a + b;
    }

    /**
     * 求两个浮点数的和
     * @param a
     * @param b
     * @return
     */
    public static double add(double a ,double b){
        return a + b;
    }

    /**
     * 求三个整数的和
     * @param a
     * @param b
     * @param c
     * @return
     */
    public static int add(int a,int b,int c){
        return  a + b + c;
    }


}

 

基础四,java基础 1 for循环嵌套
简而言之,就是一个for循环语句里面,还有一个for循环语句。
外层循环,每循环一次,内层循环,循环…

Commands:

help

event

标签:,

发表评论

电子邮件地址不会被公开。 必填项已用*标注

相关文章

网站地图xml地图