GVKun编程网logo

JAVA_WEB--jsp语法(javaweb中jsp)

3

在本文中,我们将为您详细介绍JAVA_WEB--jsp语法的相关知识,并且为您解答关于javaweb中jsp的疑问,此外,我们还会提供一些关于8.Javaweb—JSP基本语法、cloudfoundr

在本文中,我们将为您详细介绍JAVA_WEB--jsp语法的相关知识,并且为您解答关于javaweb中jsp的疑问,此外,我们还会提供一些关于8.Java web—JSP基本语法、cloudfoundry的应用类型里 java_web 和 spring 有什么区别? java_web不允许使用spring吗? spring必须要使用spring吗?、docker部署java_web应用、IDEA_WebStorm设置ES6 语法检查的有用信息。

本文目录一览:

JAVA_WEB--jsp语法(javaweb中jsp)

JAVA_WEB--jsp语法(javaweb中jsp)

JSP声明

一个声明语句可以声明一个或多个变量、方法,供后面的Java代码使用。在JSP文件中,必须先声明这些变量和方法然后才能使用它们。
JSP声明的语法格式:

<%! declaration; [ declaration; ]+ … %>

或者,也可以编写与其等价的XML语句,就像下面这样:

<jsp:declaration>
代码片段
</jsp:declaration>
 

 

 
 
 
  • 1
  • 2
  • 3

程序示例

<%! int i = 0; %> 
<%! int a, b, c; %>  

JSP表达式

一个JSP表达式中包含的脚本语言表达式,先被转化成String,然后插入到表达式出现的地方。
由于表达式的值会被转化成String,所以可以在一个文本行中使用表达式而不用去管它是否是HTML标签。
表达式元素中可以包含任何符合Java语言规范的表达式,但是不能使用分号来结束表达式。
JSP表达式的语法格式:

<%= 表达式 %>

同样,您也可以编写与之等价的XML语句:

<jsp:expression>
   表达式
</jsp:expression> 

程序示例:

<html> 
<head></head> 
<body>
<h1>
   <%! String msg = "Hello";%>
   <%= msg %>
</h1>
</body> 
</html> 

运行后得到以下结果:
Hello

JSP指令

JSP指令用来设置与整个JSP页面相关的属性。
JSP指令语法格式:

<%@ directive attribute=”value” %>

指令 描述
<%@ page … %> 定义页面的依赖属性,比如脚本语言、error页面、缓存需求等等
<%@ include … %> 包含其他文件
<%@ taglib … %> 引入标签库的定义,可以是自定义标签

JSP行为

JSP行为标签使用XML语法结构来控制servlet引擎。它能够动态插入一个文件,重用JavaBean组件,引导用户去另一个页面,为Java插件产生相关的HTML等等。
行为标签只有一种语法格式,它严格遵守XML标准:

<jsp:action_name attribute=”value” />

语法 描述
jsp:include 用于在当前页面中包含静态或动态资源
jsp:useBean 寻找和初始化一个JavaBean组件
jsp:setProperty 设置 JavaBean组件的值
jsp:getProperty 将 JavaBean组件的值插入到 output中
jsp:forward 从一个JSP文件向另一个文件传递一个包含用户请求的request对象
jsp:plugin 用于在生成的HTML页面中包含Applet和JavaBean对象
jsp:element 动态创建一个XML元素
jsp:attribute 定义动态创建的XML元素的属性
jsp:body 定义动态创建的XML元素的主体
jsp:text 用于封装模板数据

JSP隐含对象

对象 描述
request HttpServletRequest类的实例
response HttpServletResponse类的实例
out PrintWriter类的实例,用于把结果输出至网页上
session HttpSession类的实例
application ServletContext类的实例,与应用上下文有关
config ServletConfig类的实例
pageContext PageContext类的实例,提供对JSP页面所有对象以及命名空间的访问
page 类似于Java类中的this关键字
exception Exception类的对象,代表发生错误的JSP页面中对应的异常对象

JSP属于脚本语言,这一片博客将继续介绍JSP的相关语法格式,通过一个循环的例子来演示JSP代码与HTML的整合。

<%@page import="java.util.ArrayList"%>
<%@page import="java.util.List"%>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<% List<String> data = new ArrayList<String>(); for (int i = 0; i < 10; i ++) { data.add("data" + i); } %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>index</title>
</head>
<body>
<% for(String s:data) { out.print("<p>" + s + "</p>"); } %>
</body>
</html> 

这里写图片描述

通过上面的示例,我们已经初步了解了最基本的使用方法,上面的代码是将JSP的代码片嵌入HTML中,简单的处理,是没有问题的,但当页面较复杂时,这样编写就很痛苦了,有点类似Servlet的编写方式,就无法体现出JSP的优势。

<%@page import="java.util.ArrayList"%>
<%@page import="java.util.List"%>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<% List<String> data = new ArrayList<String>(); for (int i = 0; i < 10; i ++) { data.add("data" + i); } %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>index</title>
</head>
<body>
<% for(String s:data) { %>
      <p><%= s %></p>
<% } %>
</body>
</html> 

我们对循环的操作进行了修改,通过第二段代码我们发现,JSP的代码实际上是可以和HTML标签混合出现的,这样就简化了我们的工作。
通过上面的两段代码,我们知道JSP代码片和HTML代码整合的时候可以嵌入也可以混合出现。

8.Java web—JSP基本语法

8.Java web—JSP基本语法

1)脚本标识

<%--  <%@这两都之间不能为空格 ,但page前面可以任意空格 --%>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" %>
<!-- 使用import指令导入包 -->
<%@ page import="java.util.*" %>
<!-- 可以指定禁用session -->
<%@ page session="false" %>
<!-- 指明out输出的对象使用的缓冲区大小,默认8kb,单位只能为KB,值一般为8的倍数 -->
<%@ page buffer="8kb" %>
<!-- 缓存满时是否自动刷新,默认true,否则填满时抛出异常 -->
<%@ page autoFlush="true" %>
<!-- 指明当前页面是否可以成为另一个jsp页面出错时跳转过来,把当前页面当作错误页面 -->
<%@ page isErrorPage="true" %>
<!-- 当前页面出错时跳转到指定的页面,a.jsp要把isErrorPage设置为true。 该操作权限高于web.xml里面指定 配置 -->
<%@ page errorPage="/a.jsp" %>


<!-- 包含其它文件,其它文件是当源码拿过来组成一个文件解析,并不会单独解析后再拿过来;且path不为能动态的<%=%>表达式 -->
<%@ include file="相对或绝对路径path" %>

<!-- taglib指令,prefix指定前缀,uri指定标签库的URI -->
<%@ taglib prefix="c" uri="ragURI" %>


<!-- jsp表达式,=前面不能为空格 -->
<%= 表达式 %>

<!-- 这里面的代码是全局的,哪怕页面刷新后也一样可以维护之类的状态或值 ,可分多行-->
<%!
  声明变更或方法的代码
%>
<!-- 如下面代码,无论刷新多少次,i值都一直会增加 -->
<body> 
<%!
int i=0;
int count(){
	i++;
	return i;
}
%>
<%=count() %>
</body>

<!-- 代码片码,常用,里面的代码就是java的写法 -->
<% 代码片段,可换行的 %>

 

2)动作指令

<!-- 包含文件,被包含的文件可为动态或静态,动态是解析后的结果再引进来。 flush是否刷新缓冲区,当前页有缓冲则要刷新一下再包含。page属性支持动态绑定 -->
	<jsp:include page="url" flush="false"></jsp:include>

<!-- 跳转到指定页面,jsp:param为指定页面传参数,可有可无 -->
	<jsp:forward page="url">
		<jsp:param value="3" name="pageIndex" />
	</jsp:forward>

cloudfoundry的应用类型里 java_web 和 spring 有什么区别? java_web不允许使用spring吗? spring必须要使用spring吗?

cloudfoundry的应用类型里 java_web 和 spring 有什么区别? java_web不允许使用spring吗? spring必须要使用spring吗?

RT

cloudfoundry的应用类型里 java_web 和 spring 有什么区别? java_web不允许使用spring吗? spring必须要使用spring吗?

docker部署java_web应用

docker部署java_web应用

首先看看效果

构建带有tomcat8的镜像。

准备好tomcat文件夹,创建Dockerfile文件,这里需要保证tomcat和Dockerfile在同一级目录下。

下面是Dockerfile文件的内容。

FROM ubuntu:18.04
MAINTAINER lmy
ENV REFRESHED_AT 2019-07-22

#切换镜像目录,进入/usr目录
WORKDIR /usr
#在/usr/下创建jdk目录,用户存放jdk文件
RUN mkdir jdk
#在/usr/下创建tomcat目录,用来存放tomcat
RUN mkdir tomcat

#将宿主机的jdk目录下的文件拷至镜像的/usr/jdk目录下
ADD jdk1.8.0_221 /usr/local/jdk

#将宿主机的tomcat目录下的文件拷贝到镜像的/usr/tomcat目录下
ADD apache-tomcat-8.0.53 /usr/local/tomcat

#设置环境变量
ENV JAVA_HOME /usr/local/jdk
ENV JRE_HOME $JAVA_HOME/jre
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/tomcat
ENV CATALINA_BASE /usr/local/tomcat
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin

EXPOSE 8080
CMD $CATALINA_HOME/bin/catalina.sh run

运行下面的命令创建这个镜像。

sudo docker build -t lmy/tomcat8_v2 .

运行下面的命令依据上面的镜像构建web应用。

sudo docker run -d -p 8081:8080 --name tomcat8_v2 lmy/tomcat8_v2

接下来部署java web的war包。

这里我简单创建了一个java web工程,打成war包,放到和Dockerfile同级目录下。

我们可以用下面的命令将war包放到docker容器中。

sudo docker cp dockerDemo1.war tomcat8_v2:/usr/local/tomcat/webapps/

这时候访问下面地址,发现部署已经成功了 。

http://localhost:8081/dockerDemo1/hello.jsp

我们可以用docker exec命令执行伪shell命令行。

注意: exec可以让我们在容器启动之后,在容器内部运行命令。是个很重要的命令。

sudo docker exec -ti tomcat8_v2 /bin/bash

然后在容器中查看/usr/local/tomcat/webapps文件夹,发现war包已经被解压到webapps文件夹。

 

这里我们用docker cp命令将宿主机上的文件复制到docker容器中。

我们还可以直接在Dockerfile中用ADD命令将war放进docker容器中。

 请看下面

FROM ubuntu:18.04
MAINTAINER lmy
ENV REFRESHED_AT 2019-07-22

#切换镜像目录,进入/usr目录
WORKDIR /usr
#在/usr/下创建jdk目录,用户存放jdk文件
RUN mkdir jdk
#在/usr/下创建tomcat目录,用来存放tomcat
RUN mkdir tomcat

#将宿主机的jdk目录下的文件拷至镜像的/usr/jdk目录下
ADD jdk1.8.0_221 /usr/local/jdk

#将宿主机的tomcat目录下的文件拷贝到镜像的/usr/tomcat目录下
ADD apache-tomcat-8.0.53 /usr/local/tomcat

#将宿主机的tomcat目录下的文件拷贝到镜像的/usr/tomcat目录下
ADD dockerDemo1.war /usr/local/tomcat/webapps

#设置环境变量
ENV JAVA_HOME /usr/local/jdk
ENV JRE_HOME $JAVA_HOME/jre
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/tomcat
ENV CATALINA_BASE /usr/local/tomcat
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin

EXPOSE 8080
CMD $CATALINA_HOME/bin/catalina.sh run
创建镜像命令
sudo docker build -t lmy/tomcat8_v4 .
依据上面镜像创建运行容器,对外端口是8083
sudo docker run -d -p 8083:8080 --name tomcat8_v4 lmy/tomcat8_v4

当然部署java web容器还有很多方法,只要大家把dockerfile和docker命令都熟练了,应该很简单。

 

IDEA_WebStorm设置ES6 语法检查

IDEA_WebStorm设置ES6 语法检查

 

    目前虽然市面上运行的代码还是以ES5 为主,但是 ES 6 在浏览器上的支持已经比较广泛了。 

 

    我在使用WebStorm 进行代码开发的时候,发现 WebStorm 默认的语法检查还是以ES5 进行检查的,

这样会导致许多的报错,如下图所示;

 

 

 

 

我们需要设置下 WebStorm 中 ES 语法检查的标准:

 

首先打开设置:

 

 

 

 

查找 现在应用的标准:

路径如下:

Preferences > Languages & Frameworks > JavaScript

 

 

此时我们的代码就不报错了:

 

 

关于JAVA_WEB--jsp语法javaweb中jsp的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于8.Java web—JSP基本语法、cloudfoundry的应用类型里 java_web 和 spring 有什么区别? java_web不允许使用spring吗? spring必须要使用spring吗?、docker部署java_web应用、IDEA_WebStorm设置ES6 语法检查等相关内容,可以在本站寻找。

本文标签: