什么是JSP

JSP本质上就是一个Servlet,JSP主要负责与用户交互,将最终的界面呈现给用户,HTML+JS+CSS+Java的混合文件。

返回一个网页页面

在前面的Servlet中,我们想客户端返回的都是一个字符串,比如"hello world"
那么如何返回一个页面呢?
(1)创建一个简单的html页面
新建记事本,输入:
在这里插入图片描述
保存退出,修改后缀名为html
在这里插入图片描述
双击打开
在这里插入图片描述
一个简单的网页就创建好了
2.在Servlet中怎样返回这个页面呢?
(1)最笨的方法
将网页的源码一行一行的放在doGet()方法里
在这里插入图片描述
编译运行
在这里插入图片描述
显示我们自定义的页面
这个方法虽然可以,但是很显然,太麻烦,非常麻烦,实际的开发中没人会这么做
这个时候就要使用JSP了
3.我们在前面说过,在IDEA中创建一个新的web项目时,会自动生成index.jsp文件
在这里插入图片描述
其中代码为;
在这里插入图片描述
当我们编译运行项目时,浏览器会自动打开,打开的默认界面就是index.jsp文件内定义的界面,
在这里插入图片描述
当我们在网页地址内输入我们自定义的地址是,这个页面才会加载我们的Servlet,比如前面的输出一个字符串或者一个页面
4.在web下新建一个jsp文件test.jsp
在这里插入图片描述
写入内容
在这里插入图片描述
编译运行,在打开的页面地址内输入test.jsp,回车
在这里插入图片描述
当服务器接收到一个后缀是jsp的请求时,会将该请求交给JSP引擎去处理,每一个JSP页面第一次被访问的时候,JSP引擎会将其翻译成一个Servlet文件,再由Web容器调用Servlet完成响应。

标题

单纯从开发的角度来看,JSP就是在HTML中嵌入Java程序
具体的嵌入方式有三种:
1.JSP脚本–执行Java逻辑代码
在html文件中添加这样一行代码:

<% 
	Java代码 
%>

就可以了
在上面创建的test.jsp中添加Java代码
在这里插入图片描述
编译运行,再打开的页面地址内访问test.jsp,回车
在这里插入图片描述
可以发现,在页面内只显示了h1之间的内容
而我们Java中的hello world并没有显示在页面,而是显示在IDEA的控制台上
在这里插入图片描述
这是什么原因造成的?
当我们在服务器上访问jsp文件时,遇到<% %>内的Java代码时,会首先复制这段Java代码,将其复制到继承HttpServlet类的Servlet类的doGet()方法内。
例如
在这里插入图片描述
可以看出,如果想将内容输出到浏览器页面上,就必须通过write方法,而我们的Java并没有write方法,仅有System.out.println,因此hello world只是被输出到本地的控制台中,并不会被显示到浏览器页面中

2.JSP声明 – 定义Java方法

<%!
	声明Java方法
	//只能在这里面定义方法,不能调用方法
	//调用方法只能在<%    %>内
%>

在这里插入图片描述
3.JSP表达式 – 把Java对象直接输出显示在页面上

<%=java变量%>

在这里插入图片描述
编译运行项目,在浏览器打开的页面地址中访问test.jsp
在这里插入图片描述
可以看到helloworld已经显示在页面上了

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐