WEB阶段课程
主要知识点:
1.Tomcat 服务器 掌握 安装 配置 各个目录的含义 修改端口
2.JSP java server page用于显示的技术 语法和HTML一样 能在jsp里面编写java程序
注意:2的意思是既可以在jsp中编写HTML代码也可以编写java代码
1.WEB发展过程
最早的时候开发出来的都是静态WEB , HTML最早作为科研项目展示,静态页面不能满足展示的需求
动态WEB开始发展,其中发展的技术如下:
1 PHP
2 ASP
3 JSP
动态WEB与静态 WEB原理
静态WEB
客户端--->request 服务器端---->文件系统--->response响应回客户端
动态WEB
URL是否存在动态WEB后缀 如果存在调用WEB容器(tomcat/weblogic)进行动态WEB的代码拼凑
客户端--->request 服务器--->webplugin(web插件)
注意以下几点:
URL是否存在动态WEB后缀:http://localhost:8080/PracticeWebProject/login_do.jsp
即地址后面是否存在.jsp/.asp/.php后缀
WEB容器:可以理解为tomcat这个weblogic这样的服务器
客户端--->request 服务器--->webplugin(web插件)
通过JSP开发的技术都是B/S技术,特点:开发一套程序 部署在服务器上,客户端通过浏览器进行访问,进行维护的时候只需要维护服务器即可
2 Tomcat服务器
2.1Tomcat目录
bin:tomcat执行文件
conf:该文件夹下存放的为配置文件
Lib:存放tomcat jar包
Logs:存放日志
Temp:临时文件的存放
Webapps:存在web程序
Work:存放缓存文件
2.2在eclipse中配置tomcat
注意是在Server--->Runtime Environments配置
3.JSP页面
java server page能在JSP页面中编写java语言
3.1注释
单行注释://
多行注释:/**/
HTML:
3.2 3中小脚本(scriptlet) 把java语言通过小脚本嵌入到JSP页面
1 <%!%> 能在里面编写 常量 方法 类,作用:声明常量、声明方法、声明类
2 <%%> 编写临时变量 方法 , 作用:在这里面写程序就是web的实现,或者说成是写插件
3 <%=%>在页面输出变量内容
<%!
public static final String str = "hello world";
%>
<%
String str2 = "myhello";
str+="world";
%>
<h1><%=str%></h1>
<h2><%=str2%></h2>
3.3 JSP跳转
1 标签跳转 <jsp:forward page="要跳转的路径"> 属于服务器跳转
4 内置对象
在JSP中一共提供了9大内置对象
request 服务器端接受客户端发送过来的请求 其特有的方法有getParameter(客户输入的name)
response 服务器对客户端的响应 其特有的方法是sendRedirect("要跳转的路径"),属于客户端跳转
session 描述会话
application 描述整个服务器
config 初始化配置的操作
out 进行输出操作
pag 只代表一个页面
exception 抛出异常
pageContext 描述一个jsp页面
以上内容为web阶段中jsp的九大内置对象,也是面试中经常会被问到的问题
其中page request session application存在不同属性范围,可以保存对象的信息,他们共有的方法是setAttribute(String,object) 可以理解成键值对
getAttribute(String) 可以取出Object,且返回值是Objeck类,需要向下转型,接下来来验证四大属性范围:
1 page属性范围
保存的对象只能在本页中生效,跳转之后失效
2.request 属性范围
在一次服务器跳转后有效,但在客户端跳转之后无效
在request属性范围中发现客户端跳转之后,属性范围无效
客户端跳转和服务器跳转的区别?
1 服务器跳转不会改变地址
2 服务器跳转只发送一次请求
3 服务器跳转属于无条件跳转
4 客户端跳转会改变地址
5 客户端跳转会发送两次请求
6 客户端跳转不属于无条件跳转,遇到跳转之后整个页面的代码会执行完毕再跳转
3.session属性范围
一次会话中有效,不限制跳转次数,会话结束后失效
4.application属性范围
在整个服务器中有效,服务器关闭之后失效
内置对象深入了解
1 request对象
作为WEB开发中100%肯定会被使用到的一个对象
1.1 request.getParameter("客户端的name");接受客户端发送过来的参数(重点)
1.2 java.lang.String[] getParameterValues(java.lang.String name);接受一组参数,返回值为String
1.3 public int getServerPort();返回服务器端口号
1.4 java.lang.String getLocalAddr();返回当前本地的ip地址
1.5 java.lang.String getMethod();获得客户端的提交方式
1.6HttpSession getSession; 获得Session
1.7void setCharacterEncoding(java.lang.Stirng env)
2.session
描述一组会话
java.lang.String getid(); //获得sessionid
public void invadate();//注销session
public boolean isNew();//判断session是否是一个新用户
客户端跳转
public void sendRedirect(java.lang.location)throws java.io.IOException
提交方式的区别?
Get和Post提交方式有什么区别
Get提交参数会直接显示在URL地址栏中,提交的参数有限 大小限制一般4k-5k 由于提交的参数直接显示在URL地址栏中所以安全性不高,不能提交文件 例如 图片 音乐
Post会吧form表单中内容打包提交,没有长度限制,并且参数不会显示在URL地址中,安全性高,可以上传文件