Java Web-----JSP与Servlet(一)
JSP (java服务器页面)
servlet
创建第一个项目
1. 选择Dynamic Web Project , 模板版本选择2.5
2. 项目的目录结构, META-INF不用理解 , WEB-INF下lib存放jar包与web.xml文件(必要的配置),服务器响应页面在WebRoot下,如图中index.jsp.
3. tomcat添加项目,启动tomcat .
JSP基本语法
例如上例中的index.jsp文件:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head> <body>
This is my JSP page. <br>
</body>
</html>
1.在开始的page中:
language用来设置脚本语言,jsp中只有java一种
Language : 用来定义要使用的脚本语言
contentType:定义 JSP 字符的编码和页面响应的 MIME 类型
pageEncoding:Jsp 页面的字符编码
2.scriptlet 标签
通过 scriptlet 标签我们可以在 Jsp 里嵌入 Java 代码;
第一种:<%! %>
我们可以在里面定义全局变量、方法、类;
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
--> <%!
String str = "全局变量" ;
%>
<%!
public void func(){
System.out.println("全局方法");
}
%>
<%!
class My{
private int a = 1;
public void f(){
System.out.println("全局类");
}
}
%>
</head> <body>
This is my JSP page. <br>
</body>
</html>
将上述jsp放入tomcat编译之后:
在tomcat的work目录下寻找到jsp中java代码的编译文件
第二种:<% %>
我们可以在里面定义局部变量、编写语句;
与第一种相差不多,具体可以尝试.
第三种:<%= %>
我们可以在里面输出一个变量或一个具体内容;
相当于在页面中输出一段信息,如 <%=b%> 会输出变量b
3. Jsp 注释
<!-- --> Html 注释 客户端(在浏览器查看网页源码时)可见
<%-- --%> Jsp 注释 客户端(在浏览器查看网页源码时)不可见
// java 单行注释
/*
*/ java 多行注释
4. Jsp包含指令
<%@ include file=”要包含的文件”%>
在同级目录下创建MyHtml.html文件,内容只有:
<body>
My Html page<br>
</body>
在index.jsp中添加静态包含指令代码:
<body>
<%@ include file="MyHtml.html" %>
</body>
启动 tomcat :
<jsp:include page=”要包含的文件”>
基本操作与上述相差不多,只不过 静态包含先把包含文件加入,再编译运行, 动态包含是先编译,在将包含文件插入 . 在开发中应多使用动态包含.
5. Jsp 跳转指令
<jsp:forward page=" ">
<jsp:param value=”” name=”” />
</jsp:forward>
服务器内部跳转,可带参数;
例如 , 从form.jsp中带参数跳转至target.jsp 中
form.jsp :
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>My JSP 'form.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
--> </head> <body>
<jsp:forward page="target.jsp">
<jsp:param value="HelloWorld" name="forward"/>
</jsp:forward>
</body>
</html>
target.jsp :
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>My JSP 'target.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
--> </head> <body>
get form jsp: <%=request.getParameter("forward") %>
</body>
</html>
启动tomcat ,访问 http://127.0.0.1:8000/HelloWorld/form.jsp (HelloWorld是项目名称)
最新文章
- c#操作MangoDB 之MangoDB CSharp Driver驱动详解
- 回发或回调参数无效。在配置中使用 pages enableEventValidation=true 或在页面中使用 %@ Page EnableEventValidation=true % 启用了事件验证
- centos 安装mysql
- mongodb 3.2存储目录结构说明
- 第五篇 Getting Started with ORACLE EBS(开始学习ORACLE EBS)
- 网易实习笔试真题C/C++
- 使用ckplayer搭建rtmp视频直播应用
- Hibernate学习笔记--第一个Hibernate框架程序
- Rust这个新的语言
- A - Bi-shoe and Phi-shoe (欧拉函数打表)
- 谈谈Ext JS的组件——布局的使用方法
- [转]AI+RPA 融合更智能
- [Go] golang的range循环遍历通道
- C# 电脑上提示未知发布者
- quick Cocos 2dx 学习网站
- 《CSS世界》读书笔记(六)
- 复习-css常用伪类别属性
- (第1篇)什么是hadoop大数据?我又为什么要写这篇文章?
- js 字符串加密解密
- Spring Batch 简介