编辑于2017.12.20后端也加油!-x
JaveWeb项目创建过程
说明:ubuntu17.04+ Tomcat9.0.1+jdk8 (jdk1.8.0_151)已近配置好.
我的apache服务器目录在 /opt/apacheTomcat9.0.1/
1.File-new-Dynamic Web Project--最后一项勾上web.xml
生成的目录:自己在WebContent下新建: index.jsp
(注意位置和WEB-INF\META-INT并列)
<%@pagelanguage="java"contentType="text/html;charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import = "java.util.*" %> java引入包的写法,@ page import=
DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=UTF-8">
<title>Inserttitle heretitle>
head>
<body>
Hello,Bagweb
body>
html>
2
.右键项目名-run-run on server,添加Tomcat9.0服务器,等待启动(此时是在index.jsp页面),启动
成功会自动打开网址,显示index.jsp里面的内容.(注意端口号,访问时localhost:8080/项目名 )
服务器端口号可以在/opt/apache/conf/server.xml里面修改,如果端口冲入可用命令行查看并结束占
用的进程(重启电脑也行).$ ps -e 查看进程 $lsof -i:8080 查看8080端口的pid $ kill pid号 杀死
进程
在web.xml(服务器配置文件)里面可以修改默认的启动页面,这个按照写的顺序查找,因为找到了index.jsp
所以打开了页面.
3.JSP生命周期
关键点: JSP文件被引擎转换成一个Servlet,生成字节码文件,在服务器目录下的work文件夹里
(/opt/apche../work/Catalina/localhost/项目名/ .class .java),
第一次会执行_jspInit(),以后就不用_jspInit(),然后解析执行_jspService()函数.每次更新jsp文件,会重新
编译生成新的字节码文件.
4.JSP语法
<% %> 里面写java代码,即JSP脚本
<%! %> 里面声明变量或方法
<%= %> 里面写表达式
三大指令: page include tablib 注意page和前后的空格.
<%@ page %> 用于设置JSP页面的属性,这些属性将用于和JSP容器通信,控制所生
成的servlet结构。
<%@ include file="url"%> 在页面转换期间将文件包含到jsp页面。
taglib指令:声明用户使用的自定义标签
<%@ taglib (uri="tigLibURL" 或 tagDir="tagDir") prefix="tagPrefix" %>
三种注释方法:
服务器端的html注释,客户端可见
<%-- --%> JSP注释,客户端不可见
// /* */ JSP脚本注释,放在<% %>里面的
例子:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.text.*" %>
<%@ page import="java.util.*" %>
我的个人主页
Hello,欢迎访问我的主页哈
<%--JSP注释客户端不可见 --%>
<%--声明元素--%>
<%!
String s = "deed";
int add(int a, int b){
return a+b;
}
%>
<%--JSP表达式,不用分号结束 --%>
你好,<%=s %>
x+y = <%=add(10,5) %>
<%-- JSP脚本--%>
<%
// JSP脚本单行注释,不可见
/*JSP多行注释不可见*/
out.println("JSP脚本");
SimpleDateFormat time = new SimpleDateFormat("yyyy年MM月dd日");
String s = time.format(new Date());
%>
<%=s %>