JavaWeb服务器端技术:Servlet/JSP
1,Web应用概述
2,Web服务器(JBoss,WebLogic…)
(1)Tomcat的安装
解压
配置环境变量 JAVA_HOME:jdk的安装路径
启动:tomcat目录/bin/startup.bat
关闭:tomcat目录/bin/shutdown.bat
测试:http://localhost:8080
(2)部署html页面到Tomcat
在tomcat/webapps下新建文件夹(aa 非中文),将自己的html页面(1.html)放在该文件夹下即可
访问:http://localhost:8080/aa/1.html
(3)Tomcat的目录
bin:
startup.bat 启动Tomcat (不能同时启动多个tomcat服务器)
shutdown.bat 关闭Tomcat
lib:
存放Tomcat依赖的jar包
webapps:
存放Web应用程序
Web程序的目录结构
conf:
存放配置文件server.xml
修改端口号:
配置默认的欢迎页面:web.xml
index.html
index.htm
index.jsp
(4)Web应用程序的目录结构
根目录(项目名称)
静态文件
html
图片
css
js
动态文件
jsp
WEB-INF
web.xml Web程序的配置文件
classes
*.class
lib
*.jar
3,开发工具:MyEclipse10 / EclispeJavaEE版
(1)服务器Tomcat配置
(2)创建Web项目
(3)部署Web项目到Tomcat
(4)运行项目
4,Web应用的“请求-响应”模型
(1)请求:客户端给服务器发送请求(做一件事情)。
GET(邮寄明信片):
传输数据大小有限制(200K)
安全性低
速度快
POST(邮寄信件):
传输的数据大小没有限制
安全性高
速度较快
(2)响应:服务器接收到客户端的请求,进行处理,并将处理结果发给客户端。
200表示OK
404表示未找到服务器上的资源
500表示找到了,但是程序发生了某种异常
1,JSP概述
(1)Java Server Page
(2)JSP=HTML+JAVA
(3)优点:
平台无关
性能好
扩展性强
2,JSP的运行原理、过程 (面试题:为什么JSP第一次运行比较慢?)
(1)转译:jsp—>java(Servlet)--------------Tomcat
(2)编译:java—>class -------------------JDK
(3)运行:class—>html -------------------JDK
(4)html发送给客户端浏览器 ----------------Tomcat
3,JSP元素
(1)脚本 *
声明(用于定义变量或方法,其实就是类的成员变量和成员方法): <%! … %>
小脚本(方法中的实现代码):<% … %>
表达式(在页面上输出,其实就是在方法中调用out.print(内容)):<%= … %>
<% out.print(内容);%>等价于<%=内容%>
<%! int a=5; %> //全局变量
<%
int a=7; //局部变量
%>
<%=a%> //输出局部变量a
public class xxx(){
int a=5;
public void xxxService(){
System.out.print(a);
}
}
声明中的代码只在第一次的时候执行,而小脚本和表达式每次刷新都会执行!!!
(2)内置对象(9个):Tomcat直接创建好的对象,在JSP内部直接使用。
out:输出对象
print(“内容”);
println(“内容”);--------不是换行,会在内容后输出一个空字符。
write(“内容”);
request:请求对象
接收单个参数:String s=request.getParameter(name);
接收多个参数:String array[]=request.getParameterValues(name);
解决POST提交方式乱码:request.setCharacterEncoding(“编码”);
获取客户端的IP:request.getRometAddr();
请求转发(用于页面跳转):request.getRequestDispatcher(url).forward(request,response);
JSP页面直接的参数传递:A—>B
A:request.setAttribute(“参数名”,Object);
B:Object obj=request.getAttribute(“参数名”);
response:响应对象
重定向(用于页面跳转):response.sendRedirect(url);
作用域通信对象:
request:请求作用域(请求转发)
session:会话作用域(关闭浏览器)-----------登录
application:应用程序作用域(关闭Tomcat)
注意事项:A->B传参,原则是request->session->application