Java Web笔记
开发工具及运行环境
免费开源软件eclipse for ee(Eclipse jee 2019-03),jdk1.8。
开发java web最后下载专门的eclipse的EE版本,如果下载基本版再自己下载插件里面的Tomcat版本比较老。
为防止eclipse自动更新一些东西(eclipse下载了一些新的包后原来的包不会自动删除),把C盘弄得比较大,可以对eclipse设置防火墙,但只能禁止eclipse访问共用网络,不能禁止域和专用网络,否则eclipse启动不了Tomcat。
进入eclipse以后选择file==》new==》dynamic web project即可进入新建项目的向导。在向导中记得勾选generate web.xml deployment discretor就会自动生成项目的配置文件web.xml。
Eclipse生成项目的结构:
src:放java源代码文件
lib:本项目需要的外部jar包。
web.xml:项目配置文件
web.xml:
welcome-file标签中配置默认访问的页面.
jsp基本结构
<%@page import="需要引入的包"%>
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
</body>
</html>
以上代码当选择新建jsp页面即主动生成。其中<%@page import=""%>eclipse会根据需要的包自动生成。
页面中的Java代码
<%java代码%>
页面跳转
- 用jsp标签:
<jsp:forward page="url"/> <!--不带参数跳转-->
<jsp:forward page="url">
<jsp:param name="" value=""/>
</jsp:forward>
用此标签在后面不要加注释,jsp:param前后不能有空格等,否则跳转任意出错.
跳转的url只能是应用内部资源.
在转向的页面用request.getParameter(“参数名”)即可获取到该参数,获取到的是String类型.
- 用response对象重定向
reseponse.sendRedirect("url");
此方法不能加参数
-
request对象跳转
request.getRequestDispatcher("path").forward(request,response);
此方法不仅可以跳转,还可以将request和response对象传过去. -
超链接跳转
<a href="path?attr1=&attr2=">链接</a>
包含其他页面
<jsp:include page="url"/>
可引入动态,静态页面.
内置对象之session对象
session.setAttribute(String name,Object obj);
保存数据,该数据可以在多个页面共享.
如果setAttribute重名则后面设置的数据会覆盖前面的数据.
Tomcat默认session对象有效期为30分钟,自己设置有效期,当到期或浏览器关闭后该对象失效.
内置对象之application对象
application对象可以读取web.xml文件中配置的一些初始化信息和保存全局变量信息.
- 读取web.xml文件中配置的初始化信息
web.xml:
...
<context-param>
<param-name>attr1</param-name>
<param-value>value</param-value>
</context-param>
java代码:
String value = application.getInitParameter("attr1");
- 保存全局变量
application.setAttribute(String name,Object obj);
EL表达式
Ajax
Ajax可实现页面局部刷新,当需要刷新页面的局部数据时不必刷新整个页面。
jQuery实现Ajax(1.7版本)
jQuery对Ajax进行了封装,使我们更方便地使用Ajax。我们可以用$.get(),$.post(),$.getJSON()
三种方法实现。
get()
将提交get请求。其格式为:
在这里插入代码片