mvc4缓存
⑴ 如何清除浏览器缓存在浏览器的后退按钮单击在MVC4
你好,你可以使用360安全卫士电脑清理功能清理,用它清理就可以正常。
⑵ spring mvc4.1.7可以整合hibernate5.1吗
简单的说下 :
standard.jar 这个jar包是我们在jsp中使用JSTL标签的时候用到的。你也可以使用SpringEL 。
servlet-api.jar 这是你在SpringMvc中 用到HttpServletRequest 等这些类。
导入的包都OK了,上传下载的包我没有导。现在就应该到配置文件了。
2、配置文件
2.1web.xml
项目使用了什么框架。看这个配置就知道了。
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
<!-- 配置Spring的用于初始化容器对象的监听器 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<!-- 注意我的applicationContext.xml 和下面的springmvc的配置文件都是放在src下的-->
<param-value>classpath:applicationContext*.xml</param-value>
</context-param>
<!-- 中央控制器 -->
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:springmvc-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<!-- struts习惯使用/*,在springmvc不管用 -->
<url-pattern>*.do</url-pattern>
</servlet-mapping>
2.2 applicationContext.xml 的配置
我的数据库连接使用的是spirng进行连接。然后使用了 mysql.properties 配置的文件解耦。
注意如果你的spring、hibernate 的版本和我的不一样。你修改下面绿色字体版本号。
<!-- 自动扫描与装配bean -->
<context:component-scan base-package="org.pk.ssh"></context:component-scan>
<!-- 导入外部的properties文件 -->
<context:property-placeholder location="classpath:mysql.properties"/>
<!-- 配置SessionFactory -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<!-- 指定hibernate的配置文件位置 -->
<property name="configLocation" value="classpath:hibernate.cfg.xml"></property>
<!-- 配置c3p0数据库连接池 -->
<property name="dataSource">
<bean class="com.mchange.v2.c3p0.ComboPooledDataSource">
<!-- 数据连接信息 -->
<property name="jdbcUrl" value="${jdbcUrl}"></property>
<property name="driverClass" value="${driverClass}"></property>
<property name="user" value="${user}"></property>
<property name="password" value="${password}"></property>
<!-- 其他配置 -->
<!--初始化时获取三个连接,取值应在minPoolSize与maxPoolSize之间。Default: 3 -->
<property name="initialPoolSize" value="3"></property>
<!--连接池中保留的最小连接数。Default: 3 -->
<property name="minPoolSize" value="3"></property>
<!--连接池中保留的最大连接数。Default: 15 -->
<property name="maxPoolSize" value="5"></property>
<!--当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default: 3 -->
<property name="acquireIncrement" value="3"></property>
<!-- 控制数据源内加载的PreparedStatements数量。如果maxStatements与maxStatementsPerConnection均为0,则缓存被关闭。Default: 0 -->
<property name="maxStatements" value="8"></property>
<!--maxStatementsPerConnection定义了连接池内单个连接所拥有的最大缓存statements数。Default: 0 -->
<property name="maxStatementsPerConnection" value="5"></property>
<!--最大空闲时间,1800秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0 -->
<property name="maxIdleTime" value="1800"></property>
</bean>
</property>
</bean>
<!-- 配置声明式事务管理(采用注解的方式) -->
<bean id="txManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<tx:annotation-driven transaction-manager="txManager"/>
2.3 mysql.propertiese
#注意格式
jdbcUrl = jdbc:mysql:///spring
driverClass = com.mysql.jdbc.Driver
user = root
password = root
2.4 hibernate的配置
<!-- 1,数据库连接信息 -->
<property name="dialect">
org.hibernate.dialect.MySQL5InnoDBDialect
</property>
<!-- 2,其他配置 -->
<property name="show_sql">true</property>
<property name="hbm2ddl.auto">update</property>
<!-- 3,导入映射文件,我使用的的是hibernate的注解,如果你用到是配置文件 -->
<!-- <mapping resource="org/pk/ssh/model/User" /> 配置文件-->
<mapping class="org.pk.ssh.model.User" />
</session-factory>
2.5 SpringMvc的配置 springmvc-servlet.xm
<!-- mvc注解驱动 -->
<mvc:annotation-driven/>
<!-- 扫描器已经有了上面这个mvc注解驱动的功能了,所有不需要了 -->
<context:component-scan base-package="org.pk.ssh.controller" />
<!-- 前缀+ viewName +后缀 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- webroot到某一指定的文件夹的路径 -->
<property name="prefix" value="/WEB-INF/jsp/"></property>
<!-- 视图名称的后缀 -->
<property name="suffix" value=".jsp"></property>
</bean>
⑶ 实体数据模型 mvc4 缓存
不管是ado.net还是linq还是entity framework,在你的程序里面,运行之前都应该没有数据,运行的时候才会生成sql语句,数据库执行后返回数据。
⑷ springmvc4 ehcache 怎么把常量放缓存
只需要把返回值设置成你需要存放的常量就好了,在service 或者web层配置注解
@Cacheable(value="userInfo", key="#id")
这个表示你传入的id作为存放的KEY,存放类型或者名称为userInfo,具体的存放值就是return返回的值
⑸ 如何清除浏览器缓存浏览器后退按钮单击在 MVC4 上的
我知道这是在StackOverflow的一个流行的问题。我已经通过每一个问题消失了,我无法找到正确的答案 这是我记录了控制器操作结果
[Authorize]
public ActionResult LogOut(User filterContext)
{
Session.Clear();
Session.Abandon();
Session.RemoveAll();
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetExpires(DateTime.UtcNow.AddHours(-1));
Response.Cache.SetNoStore();
FormsAuthentication.SignOut();
return RedirectToAction("Home", true);
}
它不工作 我也想加入,<meta http-equiv="Cache-Control" content="no-cache" /><meta http-equiv="Pragma" content="no-cache"/><meta http-equiv="Expires" content="0"/>没有这些解决了我的问题。
1. 用你的方法的问题是,你设置它的地方是为时已晚的MVC应用它。下面的三行代码应放在显示的视图(因此该页面),您不想显示。
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetExpires(DateTime.UtcNow.AddHours(-1));
Response.Cache.SetNoStore();
如果你想申请的所有页面上的“关于浏览器的后退没有缓存”的行为,那么你应该把它放在Global.asax中。
protected void Application_BeginRequest()
{
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetExpires(DateTime.UtcNow.AddHours(-1));
Response.Cache.SetNoStore();
}
2. 刚刚成立的动作的输出缓存。我在很多项目中这种方法:
[HttpGet, OutputCache(NoStore = true, Duration = 1)]
public ActionResult Welcome()
{
return View();
}
⑹ 如何清除浏览器缓存在浏览器的后退按钮单击在MVC4
可以在应用程序里彻底清楚缓存
⑺ 如何清除浏览器缓存在浏览器的后退按钮单击在MVC4
清除浏览器缓存方法如下:
1、按下键盘上的CTRL+H
2,、在弹出来的页面中点击清除浏览器缓存
⑻ 如何强制BundleCollection刷新在MVC4缓存的脚本包
我们使用了捆绑的url请求生成的密钥存储在ASP.NET缓存里面捆绑的响应,即
Context.Cache["System.Web.Optimization.Bundle:~/bundles/jquery"]
我们还对所有被用来生成这个包中的文件和目录设置缓存依赖.因此,如果任何相关的文件或目录的变化,缓存条目将得到刷新.
我们真的不支持BundleTable / BundleCollection的实时更新在每个请求的基础.完全支持的情况是,捆绑的应用程序启动(这是所以一切都工作正常在Web场方案中,否则一些捆绑请求将最终被404的,如果发送到错误的服务器)中进行配置.看你的代码示例中,我的猜测是,你正试图动态地修改捆绑集合在一个特定的请求?任何种类的包管理/重新配置应附有一个AppDomain复位,以保证一切都已经被正确设置.
所以,避免修改你的包定义不回收你的应用程序域.你可以自由地修改你的包里面的实际文件,即应自动检测并生成您的网址捆绑新的哈希码.
⑼ MVC4 如何在View正确使用Cookie
明白了,用Ajax去请求毕竟每个用户的用户名都不同~所以用户名不能和页面缓存请求,所以要用Ajax请求,去获取当前的用户名~