javaEE--request.getRequestDispatcher--URL后带参数实现自定义跳转
2016-04-18 23:25
591 查看
javaEE web项目,需求如下:QueryServlet(数据库查询操作),每一次添加(addUser.jsp),删除(delUser.jsp)和修改(updateUser.jsp)的操作后都需要调用QueryServlet,如何能够在实现QueryServlet里的查询功能后,实现不同页面的跳转–如:
添加后跳回添加页面–addUser.jsp–QueryServlet–addUser.jsp
删除后跳回删除界面–delUser.jsp–QueryServlet–delUser.jsp
更新后跳回更新界面–updateUser.jsp–QueryServlet–updateUser.jsp
这里就利用了request.getRequestDispatcher(“url?id=”+id+”“),URL后带参数传值实现自定义跳转
具体操作看下列代码
addUser.jsp
AddServlet.java
queryServlet.java
以上是一套添加用户的操作,这里的跳转逻辑为 – 打开addUser.jsp进行添加用户操作 – 通过form的action – 跳转到AddServlet进行入库操作–跳转到QueryServlet进行一次遍历更新查询结果 – 再跳回addUser.jsp。因为QueryServlet类似一个公共类,被反复调用,所以跳转的地址需要不同的变动,鉴于此问题,找到解决方法:
利用了request.getRequestDispatcher(“url?id=”+id+”“)语句,URL后附加参数,通过页面传值后引用实现自定义跳转。如下注释内容:
AddServlet.java
这里在getRequestDispatcher传值时在servlet后面跟上自定义的url参数,然后传入另一个页面后,如本例中的QueryServlet.java,通过request.getParameter()取到值,进行跳转,即可实现自定义的页面跳转操作
QueryServlet.java
a5bb
添加后跳回添加页面–addUser.jsp–QueryServlet–addUser.jsp
删除后跳回删除界面–delUser.jsp–QueryServlet–delUser.jsp
更新后跳回更新界面–updateUser.jsp–QueryServlet–updateUser.jsp
这里就利用了request.getRequestDispatcher(“url?id=”+id+”“),URL后带参数传值实现自定义跳转
具体操作看下列代码
addUser.jsp
<form action="addServlet" method="post"> <label for="username">管理员用户名</label><input type="text" id="username" name="username" placeholder="请输入用户名"> <label for="password">管理员密码</label><input type="text" id="password" name="password" placeholder="请输入密码"> <button type="submit">添加</button> </form>
AddServlet.java
public class AddServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //...具体添加数据操作 request.getRequestDispatcher("queryAdminServlet?").forward(request, response); //String url = "jsp/addUser.jsp"; //request.getRequestDispatcher("queryAdminServlet?url="+url+"").forward(request, response); } }
queryServlet.java
public class QueryServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //...遍历查询数据操作 request.getRequestDispatcher(jsp/addUser.jsp).forward(request, response); //String url = request.getParameter("url"); //request.getRequestDispatcher(url).forward(request, response); } }
以上是一套添加用户的操作,这里的跳转逻辑为 – 打开addUser.jsp进行添加用户操作 – 通过form的action – 跳转到AddServlet进行入库操作–跳转到QueryServlet进行一次遍历更新查询结果 – 再跳回addUser.jsp。因为QueryServlet类似一个公共类,被反复调用,所以跳转的地址需要不同的变动,鉴于此问题,找到解决方法:
利用了request.getRequestDispatcher(“url?id=”+id+”“)语句,URL后附加参数,通过页面传值后引用实现自定义跳转。如下注释内容:
AddServlet.java
String url = "jsp/addUser.jsp"; request.getRequestDispatcher("queryAdminServlet?url="+url+"").forward(request, response);
这里在getRequestDispatcher传值时在servlet后面跟上自定义的url参数,然后传入另一个页面后,如本例中的QueryServlet.java,通过request.getParameter()取到值,进行跳转,即可实现自定义的页面跳转操作
QueryServlet.java
String url = request.getParameter("url"); request.getRequestDispatcher(url).forward(request, response);
a5bb
相关文章推荐
- Android之获取手机上的图片和视频缩略图thumbnails
- 数据库链接字符串查询网站
- DB2实例管理
- DB2实例管理
- 保障MySQL数据安全的14个最佳方法
- mysql问答汇集
- 第三章 数据库备份和还原
- 创建一个空的IBM DB2 ECO数据库的方法
- Access 2000 数据库 80 万记录通用快速分页类
- 开通一个数据库失败的原因的和解决办法
- 一个简单的asp数据库操作类
- CentOS下DB2数据库安装过程详解
- EasyASP v1.5发布(包含数据库操作类,原clsDbCtrl.asp)第1/2页
- sql2008 还原数据库解决方案
- Oracle 数据库自动存储管理-安装配置
- Oracle数据库执行脚本常用命令小结
- Oracle 数据库 临时数据的处理方法
- 数据库分页查询语句数据库查询
- 最近比较流行的数据库挂马