request.getContextPath()//获得的是: "/项目名"
response.sendRedirect(request.getContextPath()+"/test.jsp")
服务器内跳转getRequestDispatcher,可访问web-inf目录
request.getRequestDispatcher("main.jsp").forward(request, response);//若main.jsp在WebRoot根目录上
request.getRequestDispatcher("/WEB-INF/main.jsp").forward(request, response);//经过多次实验才正确的!!!
request.getDispatcher("jsp页面").forward(request,response): 到新jsp页面request仍然有效
response.sendRedirect(): request将会失效,不可访问web-inf目录,重定向的含义就是服务器把地址发给客户端,让客户端去访问,所以request对象会被销毁
生命周期
客户端请求该 Servlet;
加载 Servlet 类到内存;
实例化并调用init()方法初始化该 Servlet;
service()(根据请求方法不同调用doGet() 或者 doPost(),此外还有doHead()、doPut()、doTrace()、doDelete()、doOptions()、destroy())。
加载和实例化 Servlet。这项操作一般是动态执行的。然而,Server 通常会提供一个管理的选项,用于在 Server 启动时强制装载和初始化特定的 Servlet。
访问路径web.xml
//Servlet的
<loadon-startup>优先级数字<loadon-startup>
HttpSession session = request.getSession();
Controller:
Servlet:接收HTTP请求并控制Model和View
action类,业务处理类,经常在这个类中客户端提交给服务端的业务由这个类处理,
如:用户登录,登录信息提交给这个控制器 类,判断成功跳哪个页面,失败跳哪个页面等,根据自己的业务操作想做的类。
Model:命名DAO
JavaBeans:用于传递数据,拥有与数据相关的逻辑处理
主要是访问数据库的一些方法。
MV 模型1:
JSP(视图:通过<jsp:useBean来应用JavaBean.本身也包涵一点控制逻辑的代码)+JavaBean(数据+业务逻辑)
MVC模型2:
多了Sevlet,进一步把控制逻辑代码抽离到Servlet中
通过web.xml的配置映射JSP中的< acion="">和对应action的Servlet