转发、隐藏JSP、URL地址
来源:互联网 发布:淘宝权女朋友辣椒 编辑:程序博客网 时间:2024/04/30 15:01
一、转发参数:
1.将jsp里面的参数通过LoginServlet转到PageSelvert:
@WebServlet(“/login”)public class LoginServlet extends HttpServlet{protected void dopost(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{ //转发到PageServlet去Request.getRequestDispatcher(“/page”),forword(request,reapomse); }}@WebServlet(“page”)public class PageServlet extends HttpServlet{protected void dopost(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{ String usename = request.getParameter(“usename”);String password = request.getParameter(“password”);System.out.pritln(usename);System.out.pritln(passworrd);}}
2.将LoginServlet里面的存放的值带给PageServlet中去:
@WebServlet(“/login”)Public class LoginServlet extends HttpServlet{Protected void dopost(HttpServletRequest request,HttpServletResponse response){//在request对象里,设置属性值,只要是同一个request对象才能获得此数据(所以转发可以,重定向不行,重定向是两个)//将email带过去(只能在前面,如是在传的后(getRequestDisPatcher后面),则得不到)Request.setAttribute(“email”,”123456@163.com”);Request.getRequestDisPatcher(“/page”),forword(request,response);}} @WebServlet(“/page”)Public class PageServlet extends HttpServlet{Protected void dopost(HttpServletRequest request,HttpServletResponse response){//得到123456@163.comString email = (String)request.getAttribute(“email”);//删除email值Request.removeAttribute(“email”);//拿到所有的名字Request.getAttributeNames();String usename = request.getParameter(“usename”);String password = request.getParameter(“password”);}}
** 转发参数:** removeAttribute 删除 getAttributeNames 拿到所有的名字 setAttribute 设置值 getAttribute 得到值
request response 他们的生命周期,就在请求和响应之间结束。
二、隐藏JSP:
可以将JSP放入WEB-INF目录,以后只能用转发来访问以下的JSP
<welcome-file-list><-- 欢迎页面是转发机制的跳转 --><welcome-file>index.jsp</welcome-file></welcome-file-list>
目的:隐藏jsp 将访问页面改成如下:
<welcome-file-list><welcome-file>/WEB-INF/pages/index.jsp</welcome-file></welcome-file-list>
前面加“/”直接到以其为根目录的地方
//admin为一个虚拟夹子@WebServlet("/admin/test")public class TestServlet entends HttpServlet{protected void deGet(HttpServletQuest req,HttpServletResponse resp)throws ServletException,IOEception{resp.sendRedirect("index.jsp");}}
想访问到的3种方法:
//”..”代表在index.jsp目录下向上跳一个目录resp.sendRedirect("../index.jsp");
System.out.println(req.getContextPath());//servlet7_urlresp.sendRedirect(req.getContextPath()+"/index.jsp");
resp.sendRedirect(req.getContextPath() + "/");
三、乱码问题:
Tomcat7 版本转换乱码需要看方法来转get string类转码 post就直接设置编码就可以了
String s=req.getParament("text"); ↓
<from actoin="lm" method="get">
System.out.println(new String(s.getBytes(ISO-8859),"utf-8"));req,setCharacterEncoding("UTF-8");String s=req.getParamenter("test"); ↓
<from actoin="lm" method="post">
System.out.println(s);
Tomcat8 版本就不需要半段方法,直接设置转码就可
req.setCharacterEncoding("UTF-8");String s=req.getParameter("test");System.out.println(s);
如果不转码,直接打印,就会出现乱码,如下图:
如果想将一个Servlet里面的字符传到另一个Servlet中去,需要进行转码,如:
Request.sendRedirect(text1?name=”狗子”);
此时应写成:
Text0Servlet:Request.sendRedirect(“text1?name=”+URLEncode.encode(“狗子”));Text1Servlet://tomcat8Request.setCharacterEncoding(“UTF-8”);//tomcat 7String s=new String(request.getParameter(“name”).getBytes(“ISO-8859-1”),”utf-8”);System.out.println(request.getParameter(“name”));
resp.sendRedirect("test1?name="+URLEncoder.encode("多态","UTF-8")); ↓req.setCharacterEncoding("UTF-8");//String s=new String(req.getParameter("name").getBytes("ISO-8859-1"),"UTF-8")System.out.println(req.getParameter);
阅读全文
0 0
- 转发、隐藏JSP、URL地址
- 隐藏url转发
- url隐藏转发之现状及当前支持的服务
- Js隐藏URL地址的方法
- 采用URL访问资源,隐藏真实地址
- URL转发
- JSP页面URL转发跳转不同路径图片的思考!
- jsp获取地址url以及url的参数
- JSP 转发
- jsp转发
- thinkphp的url地址隐藏入口文件方
- java发送地址(url)如何隐藏.action
- JSP隐藏URL多参数传递方法之一
- 隐藏URL
- jsp+servlet实现隐藏目标超链接地址方案
- JSP使用URLRewirte实现url地址伪静态化(转)
- JSP使用URLRewirte实现url地址伪静态化
- jsp 获得转入当前页的url地址
- 论文投稿与漫长的等待
- Hash表、Hash冲突
- 缓存文件变化 && WatchService监控文件变化分析
- 如何使用Markdown写博客
- 系统架构设计模块拆分维度和原则
- 转发、隐藏JSP、URL地址
- python 与服务器的共享文件夹交互
- jsp四大作用域
- python : 安装scikit-image error:no lapack/blas resources found
- python __len__(self)详解
- C语言模拟实现C++的继承与多态
- 制作面板
- 洛谷 P2114 起床困难综合症
- 二叉树相关问题