构建Web应用

这里使用IDEA构建Web应用

新建项目

jsp极速入门教程(一文学会JSP)(1)

jsp极速入门教程(一文学会JSP)(2)

添加新的Tomcat

jsp极速入门教程(一文学会JSP)(3)

勾选上正确的Tomcat

jsp极速入门教程(一文学会JSP)(4)

jsp极速入门教程(一文学会JSP)(5)

选择Filsh

创建好目录如下

jsp极速入门教程(一文学会JSP)(6)

其自动生成的Web.XML文件如下

<?xmlversion="1.0"encoding="UTF-8"?> <web-appxmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaeehttp://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0"> </web-app>

同时还生成了一个jsp文件,生成的jsp文件如下

<%-- CreatedbyIntelliJIDEA. User:Administrator Date:2020/7/5 Time:22:39 TochangethistemplateuseFile|Settings|FileTemplates. --%> <%@pagecontentType="text/html;charset=UTF-8"language="java"%> <html> <head> <title>$Title$</title> </head> <body> $END$ </body> </html>

配置应用首页

<?xmlversion="1.0"encoding="UTF-8"?> <web-appxmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaeehttp://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0"> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>

启动应用

启动相关的应用

jsp极速入门教程(一文学会JSP)(7)

jsp极速入门教程(一文学会JSP)(8)

这样就完成了最基本的tomcat的部署

jsp的基本语法

jsp的注释

jsp的基本注释如下

<%-- CreatedbyIntelliJIDEA. User:Administrator Date:2020/7/5 Time:22:39 TochangethistemplateuseFile|Settings|FileTemplates. --%> <%@pagecontentType="text/html;charset=UTF-8"language="java"%> <html> <head> <title>$Title$</title> </head> <body> <%--注释内容--%> $END$ </body> </html>

jsp 声明

对jsp的声明如下

<%-- CreatedbyIntelliJIDEA. User:Administrator Date:2020/7/5 Time:22:39 TochangethistemplateuseFile|Settings|FileTemplates. --%> <%@pagecontentType="text/html;charset=UTF-8"language="java"%> <html> <head> <title>$Title$</title> </head> <body> <%! //声明一个整形变量 publicintcount; //声明一个方法 publicStringinfo(){ return"hello"; } %> $END$ <% //把count值输出后加1 out.println(count ); %> <% //输出info()方法后的返回值 out.println(info()); %> </body> </html>

访问的页面结果如下

jsp极速入门教程(一文学会JSP)(9)

jsp 输出表达式

jsp提供了一种简单的输出表达式

<%-- CreatedbyIntelliJIDEA. User:Administrator Date:2020/7/5 Time:22:39 TochangethistemplateuseFile|Settings|FileTemplates. --%> <%@pagecontentType="text/html;charset=UTF-8"language="java"%> <html> <head> <title>$Title$</title> </head> <body> <%! //声明一个整形变量 publicintcount; //声明一个方法 publicStringinfo(){ return"hello"; } %> $END$ `<%=count %> <%=info()%> </body> </html>

jsp 三个编译指令

这里对jsp有三个编译的指令

page 指令

page指令位于jsp页面的顶端,一个jsp页面可以有多个page指令,page指令的语法为

<%@pageimport="java.sql.*"%>

include指令

include指令可以将一个外部文件嵌入到当前jsp文件中,同时解析这个页面中的jsp语句。include命令既可以包含jsp页面也可以包含静态文本。编译指令语法如下:

<%@includefile="要导入的jsp页面或文本文件"%>

taglib指令

taglib指令用于引入一些特定的标签库,语法格式:

<%@taglibprefix="tagPrefix"uri="tagLibraryURI"%>

如使用struts标签库:

<%@taglibprefix="s"taglib="/struts-tags"%>

动作指令

forward

进行页面跳转的指令 如果转发的时候需要传递参数可以使用jsp:param</jsp:param>指令进行设置。 比如,访问index.jsp页面时自动转发至login.jsp,需要把username和password传递过去: index.jsp:

<%@pagelanguage="java"contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%> <jsp:forwardpage="login.jsp"> <jsp:paramvalue="yaopan"name="username"/> <jsp:paramvalue="123456"name="password"/> </jsp:forward> <%--mac上按住comment键(windows下按住ctrl键),再点击login.jspforword以下的代码不会被执行--%>

在login.jsp中可以使用getParameter方法获取传入的参数值:

<% Stringname=request.getParameter("username"); Stringpwd=request.getParameter("password"); out.println(name); out.println("<br>"); out.println(pwd); %>

执行forword指令时用户请求的地址没有发生变化,页面内容被forward目标替代。

include指令

include指令用于包含某个页面,但不会导入被include页面的编译指令。可以通过param指令传递参数: 新建一个index.jsp

<%@pagelanguage="java"contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPEhtml> <html> <jsp:includepage="head.html"></jsp:include> <jsp:includepage="body.jsp"> <jsp:paramvalue="#1d99f6"name="bgcolor"/> </jsp:include> </html>

body.jsp

<bodybgcolor="<%=request.getParameter("bgcolor")%>"> </body>

,