目录
创建Dynamic Web project
在webapp(webcontent)中创建html或者jsp文件
关于项目下的WEB-INF目录
Web-INF目录下的资源文件安全性都很高。他不能直接通过浏览器来访问,访问它的方式只有一种:那就是通过服务器来访问。
所以WEB-INF目录下一般存放的是lib、Spring配置文件,服务器配置文件,以及一些访问安全性较高的jsp/html页面(后台管理等页面)。如果要访问WEB-INF下的jsp/html页面,只能通过请求转发(控制层)==来访问,不能通过重定向来访问(因为重定向是让浏览器来直接发出请求)。
jsp页面
通过创建form表单来获取页面的值
method分为post和get,post提交的表单不带头信息,相对于get来说会更安全一点。
action为表单提交的地址,不写的话默认为原地址不跳转。
servlet页面
重写doget或dopost方法,根据表单提交的方式(method)决定,在方法里实现对前端信息的处理,比如写入数据库等等。
"/dis/add"写的是该servlet在项目的里的地址,表单提交的地址。
@WebServlet里写的是该servlet的属性
请求转发和重定向
转发
1. 转发的概念
转发主要是将为浏览器的请求交给另外一个servlet或jsp来处理,借助request对象完成,在服务器内部跳转,浏览器的地址并不发生变化,并且浏览器并不知道服务器内部发生了跳转,整个过程只会发生一次请求,转发和调用者都可以共享request对象和response对象。
2. 使用方法
request.getRequestDispatcher(String url).forward(req, resp);
3. 转发的优点
转发的优点一是安全性高,在内部发生跳转,浏览器地址不变;二是节省资源,转发只需要一次请求,就可以访问至少两个servlet或jsp页面。在实际开发中,转发用到最多。
转发缺点是只能在同一个web应用内使用,不能转发到外部的url地址。
重定向
1. 重定向的概念
重定向是指服务器通知浏览器向一个新的地址发送请求,由response对象完成,可以重定向到新的servlet(服务器内部),也可以重定向到外部url(外部应用),浏览器地址发生变化,浏览器知道发生了跳转,整个过程会产生两次请求,重定向的调用者和被调用者不能共同共享request对象和response对象。
2. 使用方法
response.sendRedirect(String url);
3. 重定向的缺点
重定向的优点是不限制应用范围,可以重定向到服务器内部其它资源,也可以是外部的应用。
重定向的缺点是耗费请求资源,重定向的整个过程发生了两次的请求,一个是资源消耗上比转发大,效率也比转发低;另外,因为浏览器的地址发生了变化,相对转发来讲,安全性没有转发高。
路径说明
路径分为相对路径和绝对路径,相对路径指相对于当前目录跳转的路径(不推荐),绝对路径也分为两种,一种是基于项目的服务器内,以http://localhost:8080/为根目录的绝对路径,另一种是可以定位到外部的绝对路径。
重定向的路径是从应用名(上下文)开始,因为重定向时,服务器不知道这个请求是否在应用内部还是外部,所以需要加上应用名。
转发时的路径是从应用名之后开始,转发是在服务器内部,在同一应用下,可以不写应用名。
总结一下就是,转发时使用"/"开头则代表了"http://localhost:8080/Myweb/"路径;重定向时使用"/"开头,则代表了"http://localhost:8080/"路径,需要再加上应用名。
jsp九大内置对象
1.输入输出流对象
out(JspWrite)
response(HttpServletResponse)
2.作用域对象
request(单次作用)
session(阶段作用)
application(全局作用)
pageContext
3.Servlet对象
page
config
4.异常对象
exception