javawebday26(jsp简介 基本使用)

来源:互联网 发布:方舟生存进化内存优化 编辑:程序博客网 时间:2024/05/01 12:14
/* *jsp的作用 * Servlet *  缺点 不适合设置html响应体 需要大量的response.getWriter().print("html"); *  优点 动态资源 可以变成 * html *  缺点 html是静态页面 不能包含动态信息 *  优点 不用为输出html标签而发愁 * jsp(java server pages) *  优点 在原有html的基础上添加java脚本 构成jsp页面 *jsp和Servlet的分工 *  jsp *      作为请求发起页面 例如显示表单 超链接 *      作为请求结束页面 例如显示数据 *  Servlet *      作为请求中处理数据的环节 *jsp的组成 *  jsp=html+java脚本+jsp标签(指令) *  jsp中无需创建即可使用的对象一共有8个 被称之为9大内置对象 例如 request对象 out对象 *  3中java脚本 *      <%.. .%> java代码片段(常用) 用于定义0-N条java语句 方法内能写什么 它就可以放什么(不能用来定义变量) *      <%=...%> java表达式 用于输出(常用) 用于输出一条表达式(或变量) 的结果 response.getWriter().print(...);   这里能放什么 就可以放什么 *      <%!...%> 声明 用来创建类的成员变量 和成员方法(基本不用 但是会被考 类体中可以放什么 它就能放什么)            Class MyClass{                成员                方法                构造器                构造代码块                静态块            } *JSP原理 * jsp其实是一种特殊的Servlet *  当jsp页面第一次被访问时 服务器会把jsp编译成java文件(这个java其实是一个servlet类) *  然后把java编译成.class *  然后创建该类对象 *  最后调用它的service()方法 *  第二次请求同一jsp时 直接调用service()方法 *在tomcat的work目录下可以找到jsp对应的.java源代码 *查看jsp对应java文件 *  java脚本 *  html *jsp注释 *  <%--...--%>当服务器把jsp编译成java文件时 已经忽略了注释部分  用户不能通过查看源代码看见 *  <!-- fff --> html注释 可以看见 *  <!--<%..%>--!> 可以看到<%%>中的内容 *真身 *  1、html数据都会在out.write()中出现 而且是在双引号内 即当前字符串输出给客户端 *  2、<%...%> 中的数据会原封不动的输入到"真身"中 一定是一条合法的java语句 *  3、<%=...%> 中的数据会放到out.println()中 但没有双引号 那么就不是输出字符串了 而是输出变量 * out.write() 和out.println()是相同的功能 */
<table border="1" align="center" width="60%">        <tr>            <td>姓名</td>            <td>年龄</td>        </tr><%//循环输出 只学不用(过时)    for(int i=0; i<10;i++){ %>              <tr>            <td>张三</td>            <td>11</td>        </tr>        <%    }        %>    </table>

这里写图片描述
这里写图片描述
form.jsp 表单

    <form action="/day05_01/AServlet" method="post">        整数<input type="text" name="num1"></input><br/>        整数2<input type="text" name="num2"></input><br/>        <input type="submit" value="提交"></input>    </form>

AServlet.java 中转站 处理请求

        //获取参数        String s1 = request.getParameter("num1");        String s2 = request.getParameter("num2");        //转换成 int类型        int num1 = Integer.parseInt(s1);        int num2 = Integer.parseInt(s2);        //运算         int sum = num1+num2;        //把结果保存到request域中        request.setAttribute("result", sum);        //转换到到result.jsp        request.getRequestDispatcher("/jsps/result.jsp").forward(request, response);

result.jsp

<%    Integer result = (Integer)request.getAttribute("result");   %><%= result %>
这里写代码片
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"    pageEncoding="ISO-8859-1"%><%    String path = request.getContextPath();//获取项目名    /*        http://localhost:8080/day05_01/    */    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><!-- 向页面输出basePath --><base href="<%=basePath%>"></base><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><title>Insert title here</title></head><body>    <%        int a = 10;    %>     <br/>    <%        out.print(a++);    %>    <%! int a =100;        public void fun1(){            System.out.println(a);        }    %>    <%        out.print(this.a++);        fun1();    %>    <%=a %></body></html>
原创粉丝点击