jsp中Servlet处理请求后转到一个jsp页面的解决办法
2016-04-13 19:59
519 查看
jsp中的Servlet处理请求后一般都会做请求重定向或转发的处理,很多初学者会碰到很多问题,通过本人的总结,给出以下解决办法:
1.重定向:一般我们要根据我们的Web应用名称来写,如重定向到WebRoot根目录下的login.jsp,我们可以这么写,response.sendRedirect("/Web应用名称/login.jsp");但是,这样写有一个bug,就是当你改变Web应用名称的时候,跳转就失败了,所以Web应用名称不能写死,我们知道,request.getContextPath()能够获取到Web应用的名称,所以可以这样写response.sendRedirect(""+request.getContextPath()+"/login.jsp");
2.请求转发:请求重转发就比较简单,用
request.getRequestDispatcher("/index.jsp").forward(request, response);就行
3.还有一种情况,当一个Servlet处理请求后,我们可能还要让这个Servlet再连接到另外一个servlet,这时我们可以用javascript技术,例如:
response.setContentType("text/html;charset=utf-8");//这里是防止出现乱码,很重要的
response.getWriter().print( " <script> location.href= '"+request.getContextPath()+"/servlet/xxxxxxServlet'; </script> ");
4.还有一种情况,当一个jsp页面是由一个servlet请求转发过来的,那么在这个jsp页面中如果想去访问另外一个servlet,此时,只需要这样写:<script> location.href= 'xxxxxxServlet'; </script> "这样就ok了。
这里还有很重要的一点,由于WEB-INF目录下的所有文件是受保护的,所以在WEB-INF目录下的文件要互访的话只能同过ssh中的技术实现,否则只能通过servlet来实现互访。
1.重定向:一般我们要根据我们的Web应用名称来写,如重定向到WebRoot根目录下的login.jsp,我们可以这么写,response.sendRedirect("/Web应用名称/login.jsp");但是,这样写有一个bug,就是当你改变Web应用名称的时候,跳转就失败了,所以Web应用名称不能写死,我们知道,request.getContextPath()能够获取到Web应用的名称,所以可以这样写response.sendRedirect(""+request.getContextPath()+"/login.jsp");
2.请求转发:请求重转发就比较简单,用
request.getRequestDispatcher("/index.jsp").forward(request, response);就行
3.还有一种情况,当一个Servlet处理请求后,我们可能还要让这个Servlet再连接到另外一个servlet,这时我们可以用javascript技术,例如:
response.setContentType("text/html;charset=utf-8");//这里是防止出现乱码,很重要的
response.getWriter().print( " <script> location.href= '"+request.getContextPath()+"/servlet/xxxxxxServlet'; </script> ");
4.还有一种情况,当一个jsp页面是由一个servlet请求转发过来的,那么在这个jsp页面中如果想去访问另外一个servlet,此时,只需要这样写:<script> location.href= 'xxxxxxServlet'; </script> "这样就ok了。
这里还有很重要的一点,由于WEB-INF目录下的所有文件是受保护的,所以在WEB-INF目录下的文件要互访的话只能同过ssh中的技术实现,否则只能通过servlet来实现互访。
相关文章推荐
- JavaScript 中实现继承的方式(列举3种在前一章,我们曾经讲解过创建类的最好方式是用构造函数定义属性,用原型定义方法。)
- JS-事件类型(鼠标事件中event对象的独有属性)
- MyEclipse的html/JSP编辑器添加代码自动提示
- JavaScript学习之基础语法
- JS 保留n位小数点
- jsp的EL表达式
- oncontextmenu简单使用方法,以及在js函数中失效的问题
- 关于冒泡法 js简单可视化。。。
- ffmpeg使用Json简洁显示视频的音频信息
- jsp实现在线用户列表显示
- JavaScript 数组方法总结
- JSON解析工具-org.json使用教程
- ExtJS 基础学习-1
- JS学习:JavaScript的核心
- JS的跨域理解
- JSON入门之二:org.json的基本用法
- JS获取节点的兄弟,父级,子级元素
- 原生js编写autoComplete插件
- JS中的eval 为什么加括号
- js调试的常用五种方式