-jsp-

【JSP笔记01】为什么会出现JSP,到底什么是JSP,JSP的本质又是什么,JSP的生命周期介绍 这篇文章开始介绍JSP相关技术知识,首先介绍什么是JSP,为什么会出现JSP,JSP实现的原理。 以前文章列表 目录 一、为什么会出现JSP JSP的诞生是基于Servlet组件的,为什么这么说呢??? 我们之前在编写Servlet程序的时候,如果我们要生成动态网页,首先需要在一个Servlet里面,通过response获取到输出流,然后通过调用【println()】方法,将HTML代码输出给浏览器客户端渲染。 假设我们需要编写一个登录表单,那么通过Servlet就需要编写下面这些代码,代码. 阅读详情

1、什么是jsp,有什么作用?

jsp的全称是java server pages。java的服务器页面。

jsp的主要作用是代替Servlet程序回传html页面的数据。

因为Servlet程序回传html页面数据是一件非常繁琐的事情,开发成本和维护成本都极高。

html代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    这是一个html页面数据
</body>
</html>

web.xml配置Servlet程序的代码如下

    <servlet>
        <servlet-name>PringHtml</servlet-name>
        <servlet-class>servlet.PringHtml</servlet-class>
    </servlet>
    
    <servlet-mapping>
        <servlet-name>PringHtml</servlet-name>
        <url-pattern>/pringHtml</url-pattern>
    </servlet-mapping>

1)普通Servlet程序回传html页面数据

public class PringHtml extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        //通过响应的回传流回传html页面数据
        PrintWriter writer = resp.getWriter();

        writer.write("<!DOCTYPE html>\r\n");
        writer.write("  <html lang=\"en\">\r\n");
        writer.write("  <head>\r\n");
        writer.write("    <meta charset=\"UTF-8\">\r\n");
        writer.write("    <title>Title</title>\r\n");
        writer.write("    <title>Title</title>\r\n");
        writer.write("  </head>\r\n");
        writer.write("  <body>\r\n");
        writer.write("   这是一个html页面数据\r\n");
        writer.write("  </body>\r\n");
        writer.write("  </html>\r\n");
        writer.write("\r\n");

    }
}

页面输入:http://localhost:8080/08_jsp/pringHtml 可用观察到回传数据


2)jsp文件页面数据 - - - 可以看出本质是Servlet程序

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
        这是jsp页面数据
</body>
</html>

页面输入:http://localhost:8080/08_jsp/a.jsp 可用观察到回传数据


总结:

jsp页面和html页面一样,都是存放在web目录下。访问也跟访问html页面一样。

比如:
	在web目录下有如下文件:
	web目录
		a.html页面		访问地址是		http://ip:port/工程路径/a.html
		b.jsp页面		访问地址是		http://ip:port/工程路径/b.jsp

2、jsp的本质是什么

jsp页面本质是一个Servlet程序。

当第一次访问jsp页面的时候。Tomcat服务器会把jsp页面翻译成为一个java源文件,并且对它进行编译成为.class字节码程序,打开java源文件不难发现其里面的内容是:
在这里插入图片描述

跟踪源代码发现,HttpjspBase类,直接继承了HttpServlet类。也就是说,jsp翻译出来的java类,间接继承了HttpServlet类,即翻译出来是一个Servlet程序。
在这里插入图片描述
总结:

	通过翻译的java源代码可得到结果:jsp就是Servlet程序。
	可以观察发现翻译出来的Servlet程序的源代码,其底层实现,也是通过输出流,把html页面数据回传给客户端。

3、jsp的三种语法

3.1 jsp头部的page指令

jsp的page指令可以修改jsp页面中一些重要的属性,或者行为。

<%@ page contentType="text/html;charset=UTF-8" language="java" %>

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.2 jsp中的常用脚本

1)声明脚本- - - 极少使用

声明脚本的格式是:<%! 声明java代码 %>

作用:可以给jsp翻译出来的java类定义属性、方法、静态代码块、内部类等。

练习:
	① 声明类属性
	② 声明static静态代码块
	③ 声明类方法
	④ 声明内部类		
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>

④ 声明内部类--%>

<%--① 声明类属性--%>
    <%!
        private Integer id;
        private String name;
        private static Map<String,Object> map;
    %>

<%--② 声明static静态代码块--%>
    <%!
        static {
            map = new HashMap<>();
            map.put("key1","value1");
            map.put("key2","value2");
            map.put("key3","value3");
            map.put("key4","value4");
            map.put("key5","value5");
        }
    %>

<%--③ 声明类方法--%>
    <%!
        public int abc(){
            return 0;
        }
    %>

<%--④ 声明内部类--%>
    <%!
        public static class A{
            private Integer id=12;
            private String abc="abc";
        }
    %>
</body>
</html>

2)表达式脚本- - - 常用

表达式脚本的格式是:<%= 表达式 %>

作用:在jsp页面上输出数据。

练习:
	① 输出整型
	② 输出浮点型
	③ 输出字符串
	④ 输出对象	
    <%=12 %> <br/>
    <%=12.12 %> <br/>
    <%="字符串" %> <br/>
    <%=map %> <br/>

表达式脚本的特点:

① 所有的表达式脚本都会被翻译到 _jspService()方法中
② 表达式脚本都会被翻译成为out.print()输出到页面上
③ 由于表达式脚本翻译的内容都在_jspService()方法中,所以_jspService()方法中的对象都可以直接使用
④ 表达式脚本中的表达式不能以分号结束

3)代码脚本

表达式脚本的格式是:<%java语句%>

作用:可以在jsp页面中,编写我们自己需要的功能(写的是java语句)。

练习:
	① 代码脚本---if语句
	② 代码脚本---for循环语句
	③ 翻译后java文件中_jspService放啊内的代码都可以写
<%--① 代码脚本---if语句--%>
    <%
        int i=0;
        if (i==0){
            System.out.println("0");
        }else {
            System.out.println("1");
        }
    %>


<%--② 代码脚本---for循环语句--%>
    <%
        for (int j=0;j<10;j++){
            System.out.println(j);
        }
    %>

<%--③ 翻译后java文件中_jspService放啊内的代码都可以写--%>
    <%
        String username = request.getParameter("username");
        System.out.println("用户名的请求参数值是:"+username);
    %>

代码脚本的特点:

① 代码脚本都会被翻译到 _jspService()方法中
② 代码脚本翻译的内容都在_jspService()方法中,所以_jspService()方法中的对象都可以直接使用
③ 还可以由多个代码脚本块组合完成一个完整的java语句。
④ 代码脚本还可以和表达式脚本一起组合使用,在jsp页面上输出数据

3.3 jsp中三种注释

1)html注释

<!--这是html注释-->
html注释会被翻译到java源代码中,在_jspService方法里,以out.writer输出到客户端。

2)java注释

<%
	// 单行注释
	/* 多行注释 */
%>

java注释会被翻译到java源代码种

3)jsp注释

<%--这是jsp注释--%>

jsp注释可以注解掉jsp页面种的所有代码

3.4 jsp中九大内置对象

jsp中的内置对象,指Tomcat在翻译jsp页面称为Servlet源代码后,内部提供的九大对象,叫内置对象。

在这里插入图片描述

3.5 jsp 四大域对象

四个域对象分别是:

	pageContext			(PageContextImpl类)			当前jsp页面范围内有效
	request				(HttpServletRequest类)			一次请求内有效
	session				(HttpSession类)				一个会话范围内有效(打开浏览器访问服务器,直到关闭浏览器)
	application			(ServletContext类)				整个web工程范围内都有效(只要web工程不停止,数据都在)

域对象是可以像Map一样存取数据的对象,四个域对象功能一样。不同的是它们对数据的存取范围。

四个域在使用的时候,优先顺序分别是,从小到大的范围的顺序。

pageContext ---> request ---> session ---> application

3.6 jsp 中的out输出和response.getWriter输出的区别

response中表示响应,经常用于设置返回给客户端的内容(输出),out也是给用户做输出使用的。- - -如果前面执行中出现out.flush()操作,之前的out就会写入到response中,最后执行完所有的jsp中的代码,自动执行out.flush()把剩下的out写到后面。

在这里插入图片描述
由于jsp翻译之后,底层源代码都是使用out来进行输出,所以一般情况下,在jsp页面中统一使用out来进行输出。避免打乱页面输出内容的顺序。

out.write() 输出字符串没有问题
out.print() 输出任意数据都没有问题(都转换成为字符串后调用write输出)

深入源码,浅出结论:在jsp页面中,可以统一使用out.print()来进行输出。


3.7 jsp 的常用标签

1)jsp静态包含 - - -常用

在这里插入图片描述
静态包含的特点:

1、静态包含不会翻译被包含的jsp页面
2、静态包含其实是把被包含的jsp页面的代码拷贝到包含的位置执行输出

举例:使得访问main时,可以输出footer中的尾部信息。

footer代码如下:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
        尾部信息<br/>
</body>
</html>

main代码如下:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
        头部信息<br/>
        主体内容<br/>

        <%--以下就是静态包含,file属性指定要包含的jsp页面的路径
                地址中第一个斜杠/  表示为http://ip:port/工程路径/ 映射到代码的web目录
        --%>
        <%@include file="/include/footer.jsp"%>

</body>
</html>

2)jsp动态包含

动态包含的底层原理:
在这里插入图片描述

动态包含的特点:

1、动态包含会把包含的jsp页面也翻译成为java代码
2、动态包含底层代码使用如下代码去调用被包含的jsp页面执行输出。
	JspRuntimeLibrary.include(request,response,"/include/footer.jsp",out,false);
3、动态包含,还可以传递参数。

举例:使得访问main时,可以输出footer中的尾部信息。*

footer代码如下:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
        尾部信息<br/>
        <%=request.getParameter("password")%>
</body>
</html>

main代码如下:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
        头部信息<br/>
        主体内容<br/>

        <%--动态包含如下所示  page属性指定要包含的jsp页面的路径
                动态包含也可以像静态包含一样,把被包含的内容执行输出到包含位置
         --%>
        <jsp:include page="/include/footer.jsp">
                <jsp:param name="username" value="bbj"/>
                <jsp:param name="password" value="root"/>
        </jsp:include>

</body>
</html>

3)jsp标签-转发

下面举例请求转发:

两种方式演示:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
       <%--请求转发方式一:--%>
        <%
                request.getRequestDispatcher("/a.jsp").forward(request,response);
        %>
        
        <%--请求转发方式二:--%>
        <%--<jsp:forward page=""></jsp:forward>是请求转发标签
             它的功能就是请求转发  page属性设置请求转发的路径
        --%>
        <jsp:forward page="/a.jsp"></jsp:forward>

</body>
</html>

4、jsp的练习题

4.1 在jsp页面输出九九乘法表

test1.jsp代码如下:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
    <style type="text/css">
        table{
            width: 650px;
        }
    </style>
</head>
<body>
        <%--练习在jsp页面中输出九九乘法表--%>
        <h1 align="center">九九乘法表</h1>
        <table align="center">
        <% for (int i=1;i<=9;i++){ %>
            <tr>
            <% for (int j=0;j<i;j++){ %>
                <td> <%=j+"x"+i+"="+(i*j)%> </td>
            <% } %>
            </tr>
        <% } %>
        </table>
</body>
</html>

4.2 在jsp输出一个表格,里面有10个学生的信息

学生类:

public class Student {
    private Integer id;
    private Integer age;
    private String name;
    private String phone;

    public Student() {
    }

    public Student(Integer id, Integer age, String name, String phone) {
        this.id = id;
        this.age = age;
        this.name = name;
        this.phone = phone;
    }
...get、set、toString...

test2.jsp代码如下:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
    <style type="text/css">
        table{
            border: 1px blue solid;
            width: 600px;
            border-collapse: collapse;
        }
        td,th{
            border: 1px blue solid;
        }
    </style>
</head>
<body>
        <%--练习:jsp输出一个表格,里面有10学生信息--%>
        <%
            ArrayList<Student> studentList = new ArrayList<>();
            for (int i=0;i<10;i++){
                int t=i+1;
                studentList.add(new Student(t,18+t,"name"+t,"phone"+t));
            }
        %>

        <table>
            <tr>
                <td>编号</td>
                <td>姓名</td>
                <td>年龄</td>
                <td>电话</td>
                <td>操作</td>
            </tr>
        <% for (Student student:studentList){ %>
        <tr>
            <td><%=student.getId()%></td>
            <td><%=student.getName()%></td>
            <td><%=student.getAge()%></td>
            <td><%=student.getPhone()%></td>
            <td>删除、修改</td>
        </tr>
        <%    }
        %>
        </table>
</body>
</html>

5、请求转发的使用说明

在这里插入图片描述
注意:

实现的原因是一次请求中request域中的数据是共享的。

SearchStudentServlet代码如下:其中1、2是通过for循环模拟查询到的数据

public class SearchStudentServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        // 1、获取请求的参数
        // 2、发sql语句查询学生的信息
        // 1、2的操作使用for循环生成查询到的数据做模拟

        ArrayList<Student> studentList = new ArrayList<>();
        for (int i=0;i<10;i++){
            int t=i+1;
            studentList.add(new Student(t,18+t,"name"+t,"phone"+t));
        }

        // 3、保存查询到的结果(学生信息)到request中
        request.setAttribute("stuList",studentList);
        // 4、请求转发到showStudent.jsp页面
        request.getRequestDispatcher("/Test/showStudent.jsp").forward(request,response);

    }

showStudent.jsp代码如下:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
    <style type="text/css">
        table{
            border: 1px blue solid;
            width: 600px;
            border-collapse: collapse;
        }
        td,th{
            border: 1px blue solid;
        }
    </style>
</head>
<body>
        <%--练习:jsp输出一个表格,里面有10学生信息--%>
        <%
            ArrayList<Student> studentList = (ArrayList<Student>) request.getAttribute("stuList");
        %>

        <table>
            <tr>
                <td>编号</td>
                <td>姓名</td>
                <td>年龄</td>
                <td>电话</td>
                <td>操作</td>
            </tr>
        <% for (Student student:studentList){ %>
        <tr>
            <td><%=student.getId()%></td>
            <td><%=student.getName()%></td>
            <td><%=student.getAge()%></td>
            <td><%=student.getPhone()%></td>
            <td>删除、修改</td>
        </tr>
        <%    }
        %>
        </table>
</body>
</html>

6、什么是Listener监听器

1)Listener监听器是JavaWeb的三大组件之一。JavaWeb三大组件分别是:Servlet程序、Filter过滤器、Listener监听器

2)Listener是JavaE的规范,就是接口

3)监听器的作用是,监听某种事物的变化,然会通过回调函数,反馈给客户(程序)去做一些相应的处理。

6.1 ServletContextListener监听器

ServletContextListener可以监听ServletContext对象的创建和销毁。

ServletContext对象在web工程启动的时候创建,在web工程停止的时候销毁。

监听到创建和销毁之后都会分别调用ServletContextListener监听器的方法反馈

两个方法分别是:

public interface ServletContextListener extends EventListener {
	
	// 在ServletContext对象创建之后马上调用,做初始化
	default void contextInitialized(ServletContextEvent sce) {
 }

	// 在ServletContext对象销毁之后调用
	default void contextDestroyed(ServletContextEvent sce) {
 }
}

在这里插入图片描述

public class MyservletContextListenerImpl implements ServletContextListener {


    @Override
    public void contextInitialized(ServletContextEvent sce) {
        System.out.println("ServletContext对象被创建了");

    }

    @Override
    public void contextDestroyed(ServletContextEvent sce) {
        System.out.println("ServletContext对象被销毁了");

    }
}

web.xml配置代码如下:

 <!--配置监听器-->
    <listener>
        <listener-class>listener.MyservletContextListenerImpl</listener-class>
    </listener>
怎么选?一文读懂12种SPC控制图,从基础到进阶,再到Python代码实现 本文系统介绍了12种常用SPC控制图的应用场景和特点,包括计量型(Xbar-R图、Xbar-s图、I-MR图等)、计数型(P图、NP图、U图等)及进阶控制图(EWMA图、CUSUM图、多元控制图)。文章强调控制图是SPC的核心工具,能有效区分过程变异类型,实现"预防优于检测"的质量管理目标。通过数据示例和Python代码展示了各类控制图的实现方法,为质量管理人员提供了实用参考。 阅读详情

相关推荐

Prometheus+Grafana部署及企业微信邮件/群消息告警通知配置

本文详细介绍了在Ubuntu 22.04系统上部署普罗米修斯监控系统的完整流程。首先说明了系统配置要求(2核CPU、4G内存、100G硬盘),然后分步骤指导下载、解压和安装普罗米修斯服务。文章包含配置prometheus.yml文件、启动服务、设置系统服务等关键操作,并提供了访问9090端口验证服务的方法。接着介绍了通过node_exporter监控Linux主机的配置过程,包括安装、启动服务和修改普罗米修斯配置文件添加监控项。最后还涉及了mysqld_exporter的部署流程,用于监控MySQL数据库服

m0_58761900的博客 1637

用jsp实现登录界面

一.用户登录案例需求: 1.编写login.jsp登录页面 username & password 两个输入框 2.使用Druid数据库连接池技术,操作mysql,day14数据库中user表 3.使用JdbcTemplate技术封装JDBC 4.登录成功跳转到SuccessServlet展示:登录成功!用户名,欢迎您 5.登录失败跳转到login.jsp展示:登录失败,用户名或密码错误,验证...

笼中鸟 2万+

学好超几何分布的核心公式,破解双色球!

彩票本质是概率游戏,不存在"必中公式"科学投注的核心是风险收益比管理长期投注的期望值始终为负(理论回报率约47%-63%)数学维度:运用概率工具优化策略经济维度:控制投注成本在可承受范围人文维度:将彩票视为社会公益的参与方式通过本文构建的数学模型,彩民可以在概率框架内实现更理性的投注决策。但最终能否收获幸运,仍取决于那个永恒的未知数——概率女神的眷顾。一、超几何分布的核心公式。

weixin_44904675的博客 1万+

弹出窗口

【1、普通的弹出窗口】其实代码非常简单:<SCRIPTLANGUAGE=javascript><!--window.open('page.html')--></SCRIPT>  因为这是一段javascripts代码,所以它们应该放在<SCRIPTLANGUAGE=javascript>标签和</script>之间。&...

weixin_34357928的博客 1033

多摄像头同步技术:帧同步信号在Sensor与解串器间的传递机制

本文深入探讨了多摄像头系统中帧同步信号的两种核心传递机制:由解串器统一发号施令或由主Sensor作为“带头大哥”。文章对比了两种方案在同步精度、硬件复杂度、成本及适用场景上的差异,并提供了实战配置要点与调试心法,为车载环视、ADAS及工业检测等应用提供关键的技术选型与实施指导。

weixin_29193359的博客 434

Android MediaCodec学习笔记

模块介绍 基本概念 OpenMAX是Khronos Group提出的标准,目标在于创造一个统一的接口,加速大量多媒体资料的处理。OpenMAX分成三层:应用层(Application Layer, AL), 整合层(Integration Layer, IL) 以及开发层(Development Layer, DL)。 OpenMAX (Open Media Acceleration) OpenMAX AL Application Layer ..

kisshine 2358

JSP注释(多种注释详解)

JSP语法缺少不了注释声明,注释是为了能让他人看懂代码。

unber的博客 1万+

国密GmSSL v2版本命令行方式生成国密sm2私钥、公钥、签名和验证签名

GmSSL是国密算法的工具库(主要包含SM2、SM3、SM4和国密SSL证书生成等功能),项目本身是OpenSSL的分支,但是截至文章发布为止,OpenSSL主分支的国密算法并不完善,目前并不支持签名和解签,所以国密算法这块还是需要使用GmSSL工具库。网上现在并没有v2版本的GmSSL可用的命令行文章,本章用于记录这些命令。本文原创自csdn博客,其他网站看到这篇文章都是盗,版,爬。虫。网站,支持原创,远离盗版。

eguid音视频方向博客,分享经过实践检验的硬核音视频技术。FFmpeg、openCV和JavaCV音视频和图像处理系列教程发布十周年,众多开发者的严格验证。欢迎关注,一起交流探索学习最新音视频和图像处理技术 4601

JSP 注释和动作标识的使用

JSP 的基本语法还包括 JSP 注释和动作标识。本文会详细讲解一下这两个东西。一、JSP 注释由于 JSP 页面由 HTML、JSP、Java 脚本等组成,所以 JSP 的注释格式有很多种。以上就是 JSP 的基本语法,本文简单介绍了 JSP注释和动作标识的使用,更多开发网页的技巧还需要我们在实际开发过程中不断地实践获得,有补充或指正的内容,欢迎在评论区中留言。

weixin_74141222的博客 1934

手把手教你学simulink(31.31)--双向DCDC电源场景示例:设计并实现一个基于变频控制的双向降压变换

设计并实现一个基于 Simulink 的双向降压变换器,能够在充电模式(从高压侧向低压侧传输能量)和放电模式(从低压侧向高压侧传输能量)之间切换,确保输出电压稳定,并根据负载变化自动调整工作模式。

MHD0815的博客 343

【LAMMPS学习】八、基础知识(2.1)2D模拟

此部分描述了如何使用 LAMMPS 为用户和开发人员执行各种任务。术语表页面还列出了 MD 术语,以及相应 LAMMPS 手册页的链接。LAMMPS 源代码分发的examples目录中包含的示例输入脚本以及示例脚本页面上突出显示的示例输入脚本还展示了如何设置和运行各种模拟。

荷塘阅色 1249

JSP页面的各种注释

1,css注释:/这里是CSS注释/;2,js注释://这里是JS注释;3,html注释:;4,Java注释://这里是java小脚本;5,JSP动态标签注释:&amp;lt;%– 这里是JSP动态标签注释 –%&amp;gt; 如下为JSP中各种注释的具体体现 &amp;lt;%@ page language=&quot;java&quot; contentType=&quot;text/html; charset=UTF-8&quot; %

sinat_43094886的博客 5988

AutoSAR系列讲解(入门篇)4.1-BSW概述

BSW概述,主要讲解BSW的结构组成

雪云飞星的博客 4万+

JSP——编写三个JSP页面,main.jsp、circle.jsp和ladder.jsp,将三个JSP页面保存在同一个Web服务目录中,

编写三个JSP页面,main.jsp、circle.jsp和ladder.jsp, 将三个JSP页面保存在同一个Web服务目录中, main.jsp使用include动作标记加载circle.jsp和ladder.jsp页面。 circle.jsp页面可以计算并显示圆的面积,ladder.jsp页面可以计算并显示梯形的面积。 当circle.jsp和lader.jsp被加载时获取main....

lmm0513的博客 2万+

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

什么是JSP

JSP全称Java Server Pages即 java服务页面,是一种动态网页开发技术。它使用JSP标签在HTML网页中插入Java代码。标签通常以&lt;%开头以%&gt;结束。 JSP是一种Java servlet【JSP 的本质就是一个servlet】,主要用于实现Java web应用程序的用户界面部分。 它和servelt 一样 可以提供 动态的HTML 响应。 不同的是 Servl...

nO0b 1万+

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

JSP概述——什么是JSP、JSP运行原理

(一)什么是JSP 是JSPJSP全名是JavaServerPages,它是建立在Servlet规范之上的动态网页开发技术。在JSP文件中,HTML代码与Java代码共同存在,其中,HTML代码用来实现网页中静态内容的显示,Java代码用来实现网页中动态内容的显示。为了与传统HTML有所区别,JSP文件的扩展名为.jsp。 JSP技术所开发的Web应用程序是基于Java的,它可以用一种简捷而快速的方法从Java程序生成Web页面,其使用上具有如下几点特征。 •跨平台:由于JSP是基于J...

醉瑾_的博客 1万+

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

什么是jsp,它有什么用+jsp的本质是什么

jsp的全称是:java servlet pages,java的服务器页面 主要作用:替代servlet程序回传html页面的数据,因为servlet程序回传html页面数据是一件非常繁琐的事情,开发成本和维护成本都极高 如下: 这是servlet回传html页面的方法,超级麻烦 虽然也能打印成功 我们来尝试用jsp回传html页面来试试 我们先来创建一个jsp文件 如图,在web下面我们可以创建一个jsp文件 jsp文件,如下和servlet打印出来的html页面一样,但是这个方便简洁了很多

你好牛蛙! 1万+

JSP语法——[JSP]5

Java 程序片 Java表达式 JSP中的注释   JSP指令标记

ormstq的博客 2637

JSP简介——[JSP]3

JSP页面   1.5 JSP与jJava servlet的关系   1.6实验11编写、保存、运行JSP页面

ormstq的博客 1459

你写的JSP就是JSP么?

以前 Java Web是使用Java语言进行web系统开发,以前一般情况下我们写好的Java代码都要打包诚war包,然后放入到Tomcat容器下,启动Tomcat。系统会自动进行解压。 注意:前端收到的一定是HTML、CSS、JS这样的代码。服务器端在JSP没出现前只能调用resp.getWriter().write方法来拼接出前端表示语句。 比如我们创建一个Servlet对象 package c...

sowhat 4497

JSP技术

学习目标 一、JSP概述 二、JSP基本语法 三、JSP隐式对象 学习内容 一、JSP概述 1.1 什么是jsp: 它的英文全称 java server pages ,java服务端页面,它是建立在servlet规范基础上的动态网页开发技术。 java 服务端 页面: 在jsp上可以写java代码,也可以写html标记,它运行在服务器端。 jsp = java + html + jsp自身的一些东西。 为什么会产生jsp技术: 因为在早期没有jsp时,需要servlet向页面写数据,比较麻烦,所以就产生了

m0_55689562的博客 1万+

JSP学习3-JSP语法

一个JSP表达式中包含的脚本语言表达式,先被转化成String,然后插入到表达式出现的地方。由于表达式的值会被转化成String,所以您可以在一个文本行中使用表达式而不用去管它是否是HTML标签。表达式元素中可以包含任何符合Java语言规范的表达式,但是。在JSP中,可以使用表达式标签(<%=,这实际上是一个方便的语法糖,它背后是使用jspWriter的out对象来输出的。因此,使用<%= %>来生成内容是一个简化的方式,等价于使用。

spy47_的博客 1954

JSP起源、JSP的运行原理、JSP的执行过程

JSP起源 在很多动态网页中,绝大部分内容都是固定不变的,只有局部内容需要动态产生和改变。  如果使用Servlet程序来输出只有局部内容需要动态改变的网页,其中所有的静态内容也需要程序员用Java程序代码产生,整个Servlet程序的代码将非常臃肿,编写和维护都将非常困难。   对大量静态内容的美工设计和相关HTML语句的编写,并不是程序员所要做的工作,程序员对此也不一定在行。网页美工

fengdongkun的专栏 2万+

JSP

一、概念 JSP全称为Java Server Pages,它指的就是java服务器端页面 我们可以理解为它就是一个特殊的页面,其中既可以指定定义html标签,又可以定义java代码,用于简化我们的书写 二、原理 画图说明 JSP本质上就是一个Servlet 三、JSP的脚本 JSP定义Java代码的方式 1、<% 代码 %> 定义的Java代码,在service方法中。sevice方法中可以定义什么,该脚本就能定义什么 2、<%! 代码 %> 定义的是Java代码,在jsp转换后的

技术积累,技术分享 7082

JSP——JSP介绍以及运行原理

本文介绍了JSP的基本概念,介绍了一个快速入门案例,并且详细介绍了JSP的运行原理以及它和Servlet的关系

Gavin 9815
上一篇: JavaWeb-Tomcat、Servlet
下一篇: EL表达式、JSTL标签库、文件上传和下载
AX_Chu
博客等级 码龄6年 13粉丝 31原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值