javawebday26(jsp简介 基本使用)

/*
 *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>
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。、可私 6信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 、可私信6博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 、可私信6博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值