j2ee学习笔记

一。tomcat的目录

1.bin可执行文件 (startup.bat使用时必须配置CATALINA_HOME及时tomcat的路径 shutdown.bat)
2.conf配置文件 (server.xml)
3.lib:tomcat 依赖的jar包
4.log日志文件(记录出错等信息)
4.temp :临时文件
5.webapp:可执行的项目(将我们开发的项目放入 里面项目包含的文件有 WEB-INF/classes 包含此项目的字节码文件; WEB-INF/lib ; WEB-INF/web.xml中的welcome-file 设置访问顺序-》这样可以设置访问的初始页面等)
6.work :存放jsp翻译的java文件,以及编辑成的class文件

7.修改端口号 server.xml 文件大概70行connector port=“修改” 改完重启
8.http://localhost:8080/examples 可以直接访问webapp下的项目文件
7.常见状态吗
404 500 服务器内部代码错误

二。虚拟路径

1。将web项目配置到webapp以外的目录
方式一:
方法:
conf/server.xml中的添加《Context docBase=项目存放的实际路径 path:虚拟路径 (用绝对路径或相对路径 相对于webpps)即访问path时实际访问docBase
缺点:
重启
方式二
方法:
conf/Catalina/localhost 新建 项目名.xml 写《context 同上》 (如果新建的时ROOT.xml 地址栏访问时可省去项目名)

三。虚拟主机

www.test.com 访问本机
本机也有域名解析器:在本机不存在就去互联网解析(local host=127.0.0.1)
互联网域名解析器 :域名转化IP地址
1。conf/server .xml 中增加一个host 标签 其中有appBase=项目实际位置 name=www.test.com 内嵌 "/"访问根目录 则path可省略项目
2. 修改Engine 标签中的defaultHost=www.test.com 此时localhost被替换为www.test.com
3. 建立域名与IP的映射关系:在C盘windows/system32/drivers/etc/host 中增加 127.0.0.1 www.test.com
4. 访问时键入 www.test.com:8080 可访问 如果不加8080 需要将端口号配置为80(网站的默认端口)
访问顺序:
www.test.com———》本机host寻找映射关系——》server.xm中找Engine的defaulthost——》然后将path映射到docBase即实际的项目文件

四。jsp

1.jsp:包含Java代码的html文件
2.jsp执行流程
jsp——》Java(servlet文件)——》class 第一次访问需要编译的过程比较慢,第二次直接访问class文件比较快 ,服务器修改代码会重新的编译

五。用eclipse进行开发

0.创建项目后发布项目即可访问:server右键
1.eclipse中WEB-INF权限较高,客户端无法直接访问里面的jsp文件。只能通过请求转发来访问,并不是所有的跳转都可以访问,因为跳转包含,请求转发和重定向。
2.同tomcat运行时环境:时运行servlet和jsp,需要右键项目->build path-》add Library->server runtime
3.统一字符集编码:
a。编码的分类:
《1》设置jsp文件的编码:(jsp文件中的pageEncoding)jsp——》java 翻译过程
《2》设置浏览器读取jsp文件的编码:(jsp 文件中的content属性)
一般将以上两个写为一致。
《3》文本的编码:统一设置:整个eclipse文件:Windows——》preference-》jsp files
某项目的统一编码:右键项目property——》utf8
单独文件property
4.jsp页面元素:
i.<% 局部变量 Java代码%>
ii.<%! 全局变量 。定义方法%>
iii.<%=输出表达式%>
5.一般而言修改jsp页面不需要重启服务器,但修改web。xml。配置文件,java,则需要
6.out.print()不能回车,要回车通过”“
7.指令
page <%@page…%>
contentType=”text/html; charset=UTF-8“:浏览器的解析编码
8.注释:
html<!-- --->可以被客户通过查看源码看到
java:// /**/
jsp:<%-- --%>
9.内置对象
:自带,不通过new就可以用
out:输出
pageContext:

6.request:存储”客户端对服务器的请求信息“

方法:
string getParameter(string name):根据请求的字段名,返回字段值
String[] getParameter(String name):根据请求的字段名,返回多个字段值 (checkbox)
void setCharacterEcoding(“编码utf-8”):设置post请求编码
getRequestDispacther(“b.jsp”).forward(request,response); :请求转发的跳转页面 当前为A->B
servletContext getServerContext():获取servletContext对象
示例:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
response:
application
config

7.response

1.response
提供的方法:
void addcookie(Cookie cookie):服务端向客户端添加cookie对象
void sendRedirect(String location ):throw IOException:页面跳转的一种方式(重定向)
重定向:重定向对应页面跳转时导致数据丢失
请求转发:request 可以获取到数据,但地址栏没有变化
void setContentType(String type):设置服务端的响应编码(设置服务端的content)
实例:登录
login.jsp->check.jsp 登录检查成功后跳转到sucess.jsp
请求转发 重定向
地址栏是否变化 不变(check.jsp) 变success.jsp

是否保留第一次
请求时的数据 保留 不保留 ----4种范围对象

请求次数 1 2
跳转位置 服务端 客户端发出的第二次跳转
请求转发:
在这里插入图片描述重定向:
在这里插入图片描述
2.session(服务端)
cookie(客户端对象,不是内置对象):由服务端产生,再发给客户端保存
作用:提高服务器的访问效率
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
按ctrl键进去
浏览器通过f12查看网络,可以发现除了自己设置的cookie对象外,还有一个name为JSEEIONID的Cookie

8cookie

3.使用cookie实现记住用户名
login.jsp—>check.jsp
在check中
//将用户名加入cookie中,
Cookie cookie =new Cookie(“uname”,name)//只使用英文或数字,否则要解码
response.addCookie(cookie);
response.sendRedirect(“A.jsp”);//发给客户端
拿cookie(这样下次登录时就不用再写用户名了)
Cookie[] cookies=request.getCookies();
for(Cookie cookie:cookies){
if(cookie.getName().equals(“uname “))
uname=cookie.getValue();//<!string uname;>全局变量
}
然后在input添加value=“<%=(uname==null?””:uname)%>”

7.session

4.sesion会话
session机制 (登录成功创建)
客户端第一次请求服务端时,服务端会产生一个session对象(用于保护该客户信息)
并且每个session对象 都会有一个唯一的sessionID,
服务端会产生一个cookie,并且 该cookie的name=JSESSIONID,value=服务端的sessionid值
然后服务端会在响应客户端的同时,将该cookie发送给客户端。
因此客户端的cookie就和服务端的session一一对应(JSESSIONID=sessionid)
第n次请求服务端时服务端先用客户端的cookie中的JESSEIONID去和服务端的session中的id进行匹配操作,若匹配成功,则就不用登录
在这里插入图片描述
查看 对象快捷键Ctrl右键
ctrl+shift+t查看session
sessionid对应的JESESSIONID对应cookie自动创建
session.setAttribute(“ID”,value);
object 强转session.getAttribute(“ID”)
session.invalidate();//session失效

8application

内置对象不需要new直接用
application全局对象
String getContextPath() :虚拟路径
String getRealPath() :绝对路径(虚拟路径对应的绝对路径)

发布了8 篇原创文章 · 获赞 3 · 访问量 546

猜你喜欢

转载自blog.csdn.net/chen2016/article/details/90048351