- 浏览: 138316 次
- 性别:
- 来自: 西安
文章分类
最新评论
-
klo0704:
这个我没有进行测试 过。
linux word 转 pdf 下类似百度文库开发研究与实战 -
leipan19890705:
你好!请问你用OpenOffice将word等转换为pdf,会 ...
linux word 转 pdf 下类似百度文库开发研究与实战 -
selectFrom:
com.jacob.com.ComFailException: ...
2010 word 转换pdf jacob
在jsp中怎么实现登录后,自动跳转到登录前正浏览的页面?就像csdn的一样, 不管你从哪能个页面登录,成功登录后会自动跳转回那个页面。 解决方法一: 登录处理后,返回如下内容:
3
4 out.println("<!DOCTYPE HTML PUBLIC ""-//W3C//DTD HTML 4.01 Transitional//EN"">");
7
8 out.println("<HTML>");
9
11
12 out.println(" <BODY>");
13
16 out.println("<script>history.go(-1);history.go(0);</script>");
19
20 out.println(" </BODY>");
21
22 out.println("</HTML>");
23
24 out.flush();
25
26 out.close();
27
28 return null;
29
解决方法二: 1 String referer = req.getHeader("Referer");
3 return;
4
5
上面两种方法不可取是因为,如果用户登录失败,再次登录的话就会出现登录后返回到登录的错误。 第三种:把你要在跳转时需要保存的信息存放在session变量中,登录后清除这个session。可行。 需要登录操作的页面上面添加:
2 if(session.getAttribute("party")== null){
3 if(null != request.getQueryString())
4 session.setAttribute("redirectUrl", request.getRequestURL().append("?").append(request.getQueryString()).toString());
5 else
6 session.setAttribute("redirectUrl", request.getRequestURL().toString());
7 response.sendRedirect(request.getContextPath() + "/loginto");
8 }
9 %>
在登录处理页面:
2 if(StringUtils.isValid(redirectUrl)){
3 req.getSession().removeAttribute("redirectUrl");
4 resp.sendRedirect(redirectUrl);
5 }
第四种方法:写一个servlet会话判断类,如果在线就继续执行,不在线则提示登录。所有的需要在线操作的 servlet都集成此类,这样就不需要上面那么在每个页面写上这些代码了,可以集中控制。这种方式比较完整。
if (session.getAttribute("person") == null)
{
if (null != request.getQueryString())
session.setAttribute("redirectUrl", request.getRequestURL().append("?").append(request.getQueryString()).toString());
else
session.setAttribute("redirectUrl", request.getRequestURL()
.toString());
response.sendRedirect(request.getContextPath() + "/login.jsp");
return null;
}
return process(config, request, response);
很常见的一个应用就是访问某个页面,因为权限不够,进入登陆页面。人性化的设计是能够在登陆之后,系统跳转到用户原本需要访问的页面。这可以借助拦截器来实现。
在我们验证用户登陆的拦截器里面获取请求地址,并存入session。
package com.tuanplus.interceptor; import java.util.Map; import javax.servlet.http.HttpServletRequest; import org.apache.struts2.ServletActionContext; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionInvocation; import com.opensymphony.xwork2.interceptor.Interceptor; /** * 验证用户登陆 * * @author MZULE * */ public class UserLoginInterceptor implements Interceptor { private static final long serialVersionUID = 1593745236481514166L; public void destroy() { } public void init() { } public String intercept(ActionInvocation invocation) throws Exception { ActionContext context = invocation.getInvocationContext(); // 获取session Map<String, Object> session = context.getSession(); Object user = session.get("user"); // 用户还未登陆 if (user == null) { // 获取HttpServletRequest对象 HttpServletRequest req = ServletActionContext.getRequest(); // 获取此请求的地址,请求地址包含application name,进行subString操作,去除application name String path = req.getRequestURI().substring(10); // 获得请求中的参数 String queryString = req.getQueryString(); // 预防空指针 if (queryString == null) { queryString = ""; } // 拼凑得到登陆之前的地址 String realPath = path + "?" + queryString; // 存入session,方便调用 session.put("prePage", realPath); return "login"; } // 用户已经登陆,放行 return invocation.invoke(); } }在用户登陆的action中加入字符串类型的prePage属性,用来存储拦截器放入session的prePage值(即登陆前的请求地址)。
package com.tuanplus.action; import com.tuanplus.po.User; import com.tuanplus.service.IUserService; import com.tuanplus.util.AuthCodeUtil; /** * 登陆Action * * @author MZULE * */ public class LoginAction extends BaseAction { private static final long serialVersionUID = -6179170126070438432L; private IUserService userService; private User user; //验证码 private String auth; //登录前页面 private String prePage; public String execute() { // 获取登陆的User对象 User seuser = userService.get(user.getEmail()); // 加入session session.put("user", seuser); //获取跳转到登陆界面之前的页面地址,由拦截器提供 prePage = (String) session.get("prePage"); //清除session中的数据 session.remove("prePage"); if (prePage == null) { //不是拦截器跳转到登陆页面的,直接访问的登陆页面 return "myorder"; } else { return SUCCESS; } } ... }在struts.xml中配置使用action的属性prePage决定物理视图资源。
... <!-- 登陆 --> <action name="login" class="loginAction"> <result type="redirectAction">${prePage}</result> <result name="myorder" type="redirectAction">myOrder</result> <result name="input">/login.jsp</result> </action> ...嗯,一个小技巧,希望对大家有用。
我的方法
HttpServletRequest request= (HttpServletRequest)invocation.getInvocationContext().get(StrutsStatics.HTTP_REQUEST);
System.out.println(request.getRequestURI());
//HttpServletResponse resp=(HttpServletResponse)invocation.get
// request.getParameterMap();
String queryString = request.getQueryString();
//获取服务器地址
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort();
// // 预防空指针
if (queryString == null) {
queryString = "";
}
String realPath = request.getRequestURI() + "?" + queryString;
System.out.println(basePath+realPath);
struts.xml配置
<interceptors>
<interceptor name="loginInterceptor" class="com.xinlong.interceptor.LoginInterceptor"></interceptor>
<interceptor-stack name="baseStack">
<interceptor-ref name="defaultStack" />
<interceptor-ref name="loginInterceptor"/>
</interceptor-stack>
</interceptors>
<!--用action页面-->
<action name="showUpload" class="com.xinlong.xinlongmis.front.action.UploadAction" method="showUpload">
<interceptor-ref name="baseStack"/>
<result name="success" >/WEB-INF/wenku/uploaddoc.jsp</result>
</action>
发表评论
-
java 保存页面上传 js 图片
2017-05-10 18:03 402现在页面上有 <img src="dat ... -
java 批量推送 ios
2017-05-08 14:47 1692此程序需要Javapns 2.2版 ... -
SpringMVC 文件上传配置,多文件上传,使用的MultipartFile
2016-07-06 17:27 730基本的SpringMVC的搭建在我的上一篇文章里已经写过了, ... -
JS 传值到 action 乱码
2016-05-16 17:11 506JS var afterencode = encod ... -
java发送http的get、post请求
2016-04-08 15:37 610package wzh.Http; import jav ... -
SpringMVC+shiro+hibernate权限管理整合
2016-02-26 10:13 1515什么是权限? 权限是管理web应用用户的一种手段,比如 ... -
SpringMVC结合ajaxfileupload文件无刷新上传
2015-12-08 13:25 648jQuery没有提供ajax的文件上传,我们可以通过aj ... -
powerdesigner 生成mysql PDM 的COMMENT注释
2015-09-07 11:40 591powerdesigner 生成mysql PDM 的COM ... -
java合并单元格同时导出excel
2014-11-06 20:00 3331POI进行跨行需要用到对象HSSFSheet对象,现在就当我 ... -
c3p0 数据重启 tomcat 正常运行配置
2014-08-20 09:20 1043<bean id="dataSource&q ... -
Java中如何获取Spring中配置的bean 和注解
2014-06-12 22:14 1021一、什么是Spring? Spring是一个轻量级的控制反转( ... -
读写Excel文件的内容
2014-04-14 11:22 733package chb.util; import java. ... -
java(Web)中相对路径,绝对路径问题总结
2014-04-10 11:05 731主题:java(Web)中相对路 ... -
Oracle 删除恢复数据
2014-01-14 14:57 718今天一哥们把正式服务 ... -
java socket
2013-11-21 11:43 729一,网络编程中两个主要的问题 一个是如何准确的定位网络上一台 ... -
java 实现对图片的压缩生成缩略图
2013-11-14 16:31 1200一位高手的上传内容中学习到的,并将其代码根据我的需求进行了修 ... -
ORACLE 数据库的级联查询 一句sql搞定(部门多级)
2013-08-09 16:55 4541在ORACLE 数据库中有一种方法可以实现级联查询 ... -
Eclipse更改皮肤 . 保护眼睛
2013-07-05 14:57 815今天在网上看到别人的 ... -
使用eclipse生成html格式注释文档 [ javadoc ]
2013-07-02 14:34 1119一、操作步骤 1. 选中要生成doc的项目,右键 ... -
Spring+Quartz实现定时任务的配置方法
2013-02-01 11:57 8551、Scheduler的配置 <bean class= ...
相关推荐
JSP之使用jsp:forward实现用户信息验证的页面跳转 参考博客地址:https://blog.csdn.net/qq_36631076/article/details/79709868
WebView_jsp页面跳转到原生Activity , 详情请参见 https://blog.csdn.net/aduovip/article/details/86383086
比如说:在一个学校的教育管理系统中,你想看到该学校的课程信息MyClassInfor.jsp,必须先登录验证通过才能访问站内的资源,如果你直接访问MyClassInfor.jsp这个页面,那么系统一般会跳转到登录页面让你去登录。...
jsp的跳转方法
用过滤器实现session的检查以此防止用户非法登录,并使用过滤器通过cookie进行检查其登录是否与数据库信息正确。成功登录页面包含用户账号密码,计数器即第几次登录,返回重新登录的跳转链接,上次访问时间。 其中...
秒后自动跳转……<meta http-equiv=refresh content=3;url=’/search/billsearch.jsp'</ul> [removed] function countDown(secs){ tiao.innerText=secs; if(–secs>0) setTimeout(“countDown(“+secs+”)”,1000...
本系统的jsp页面都放置在项目目录中的WEB-INF中,此目录下的页面在外部是无法通过网址访问的,只有通过系统内部的跳转才能访问,安全性有所提高。此外本系统还是用MD5为登录密码加密,MD5加密后的密码是不可逆的,...
mxp/使页面中的图片都恢复到原始大小,可以作用到单个页面或者整个站点,甚至是site窗口选中的页面 mxp/平常插入的文本框都是白底黑字,如果要改变,就要用CSS定义,很麻烦。这个插件可以直接插入彩色的文本框 mxp/...
基于jsp+servlet+mysql三层架构实现的网上书店系统源码+项目说明.zip # BookStoreSystem 基于 jsp + servlet + mysql 三层架构实现的网上书店系统 ## 一、前言 该系统是简单的模仿 当当网 书店系统,==分为前端和...
JSP系列教材 (五)- 服务端跳转和客户端跳转 JSP系列教材 (六)- 中演示 cookie 的创建和访问 JSP系列教材 (七)- session 详解 JSP系列教材 (八)- 四种作用域 JSP系列教材 (九)- 九种隐式对象 JSP系列教材 ...
网上购物系统源码,使用hibernate实现的数据库连接和struts实现的流程跳转
不进行页面跳转,主要是练习运用jquerty,ajax,里面包含数据库,只是界面不太美观,如果要嵌入别到的网页上,出现问题欢迎在我的博客留言,或者加我qq1005089371,嵌入到别的网页如果部分列表或功能无法实现,请尝试...
今天写了一个小小的提示成功的页面,同时要求返回上一...经过在JSP页面的测试,在操作页面选中添加的项经过点击按钮保存再跳转到成功提示页面返回后发现都没有刷新,手动刷新后才显示出来,对于那些粘贴复制技术不经过
38、try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后? 25 39、下面的程序代码输出的结果是多少? 25 40、final, finally, finalize的区别。 27 ...
6.点击每行更新链接后跳转到更新页面,更新界面显示出要修改的员工信息,更新成功后跳转到首页显示最新数据,如图8、9所示: 实现代码:https://blog.csdn.net/weixin_44893902/article/details/115393694
(3)跳转到另一个显示界面queryResult.jsp,并把查询的结果传递过去 4. 编写studentDao.java的代码,主要完成数据库的init和close,以及根据名字进行查询的相关函数 5. 编写queryResult.jsp的代码,主要接收...
框架完美解决了iframe之间的跨域通讯。底层技术采用window.name转换代理实现
答:在Struts2里面是将每次页面的请求进行处理,然后将请求需要输出的数据转发到需要做数据显示的页面。Struts2只是起到一个数据接收和转接的功能,就是Controller控制器,而传来数据的页面叫view显示层,Struts2将...
具体在系统设计上,采用了B/S的结构,同时,也使用jsp技术在动态页面上进行了设计,后台上采用Mysql数据库,是一个非常优秀的旅游网站系统。 关键词 :旅游网站系统;jsp技术;Mysql数据库;B/S结构
-- 若想更明显的测试此属性可以修改它的值,如unauthor.jsp,然后用[玄玉]登录后访问/admin/listUser.jsp就看见浏览器会显示unauthor.jsp --> /> <!-- Shiro连接约束配置,即过滤链的定义 --> <!--...