ie浏览器未响应(ie浏览器经常未响应怎么解决)

  • 时间:
  • 浏览:50
  • 来源:奥一装修网

ie一打开就无响应

Ajax解决了IE浏览器兼容性问题Servlet程序使用ServletContext与Web容器进行通信。例如,写日志,转发请求。每个Web应用程序都包含一个上下文,该上下文由Web应用程序中的各种程序共享。因为Context可用于节省资源和共享,所以我知道的ServletContext的最大应用是Web缓存,将很少更改的内容读取到内存中,因此服务器在响应请求I / O时不需要执行慢速磁盘。ServletContextListener是ServletContext的侦听器。如果ServletContext发生更改,例如启动服务器时,创建ServletContext以及关闭服务器时,则ServletContext将被破坏。在JSP文件中,应用程序是ServletContext的实例,默认情况下由JSP容器创建。在Servlet中调用getServletContext()方法以获取ServletContext实例。

我们使用缓存的想法可能是:服务器启动时,调用ServletContextListener的contextInitialized()方法,因此在其中创建了缓存。您可以从文件或数据库中读取缓存内容以生成一个类,然后使用ervletContext。setAttribute()方法将缓存类保存在ServletContext实例中。该程序使用ServletContext。getAttribute()读取缓存。如果是JSP,请使用pplication。getAttribute()。如果是Servlet,请使用getServletContext()。 GetAttribute()。如果高速缓存发生更改(例如访问次数),则可以同时更改高速缓存和文件/数据库。也可以在下一步中保存它。当服务器即将关闭时,将调用ServletContextListener的contextDestroyed()方法,以便将缓存的更改保存在其中。将更改后的缓存保存回文件或数据库,并更新原始内容。导入用户; //我自己的课程

import DatabaseManager; //我自己的类import javax。servlet。ServletContext;

import javax。servlet。ServletContextListener; public class MyContextListener

实现ServletContextListener {private ServletContext context = null;

public void contextInitialized(ServletContextEvent event){

context = event。getServletContext(); 用户user = DatabaseManager。getUserById(1);

context。setAttribute(“ user1”,用户); }public void contextDestroyed(ServletContextEvent event){

用户用户=(用户)context。getAttribute(“ user1”); DatabaseManager。updateUserData(用户);

this。context = null; }}部署ServletContextListener将其放入正确的WEB-INF / classes目录中,更改WEB-INF目录中的web。xml文件,然后在web-app节点中添加

MyServletContextListener@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@下面的例子很棒! ! !

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Servlet API中有一个ServletContextListener接口,它可以监视ServletContext对象的生命周期,而该对象实际上是在监视Web应用程序的生命周期。当Servlet容器启动或终止Web应用程序时,它将触发ServletContextEvent事件,该事件由ServletContextListener处理。 ServletContextListener接口中定义了两种处理ServletContextEvent事件的方法。

l contextInitialized(ServletContextEvent sce):当Servlet容器启动Web应用程序时,将调用此方法。调用此方法后,容器将初始化Filter并初始化Web应用程序启动时需要初始化的Servlet。

l contextDestroyed(ServletContextEvent sce):当Servlet容器终止Web应用程序时,将调用此方法。在调用此方法之前,容器将首先销毁所有Servlet和Filter过滤器。

以下使用两个特定示例介绍ServletContextListener的用法。 示例1:启动服务时,数据库中的数据将加载到内存中并分配给属性名称,其他Servlet可以通过getAttribute访问属性值。任何请求都可以访问

2内的内容:如何实现服务启动时动态添加的内容:我们需要做的事情: 1)实现ServletContextListerner接口并传递

through setAttribute(名称,数据)方法是提交给内存; 2)应用程序通过getAttribute(名称)获取数据。

package ServletContextTest; import java。sql。Connection;

import java。sql。PreparedStatement; import java。sql。ResultSet;

import java。util。HashMap; import java。util。Map; import javax。servlet。ServletContext;

ie浏览器启动无响应

import javax。servlet。ServletContextEvent; import javax。servlet。ServletContextListener;

import util。ConnectTool; 公共类ServletContextLTest实现ServletContextListener {

//销毁它的功能 public void contextDestroyed(ServletContextEvent sce){System。out。println(“ this last lasteeded”);

} //实现初始化功能,当事件发生时触发 ServletContext sct = sce。getServletContext();

Map depts = new HashMap(); 连接连接= null; PreparedStatement pstm = null;

ResultSet rs = null; 试试{ connection = ConnectTool。getConnection();

String sql =“从dept中选择deptNo,dname”; pstm = connection。prepareStatement(sql);

rs = pstm。executeQuery(); while(rs。next()){ depts。put(rs。getInt(1),rs。getString(2));

} //将获得的值存储在属性键值对中 sct。setAttribute(“ dept”,depts);

System。out。println(“ ======监听器测试正在开始========= =”);

} catch(Exception e){ e。printStackTrace(); }最后{ ConnectTool。releasersc(rs,pstm,connection);

} } } 完成上述编码后,您仍然需要在web。xml中配置以下内容以使侦听器正常工作。 ServletContextTest。ServletContextLTest

完成上述配置后,Web服务器启动时,它将直接加载侦听器,并且可以通过以下应用程序访问数据。 import java。io。PrintWriter;

导入java。util。 *; import javax。servlet。ServletContext;

import javax。servlet。ServletException; import javax。servlet。http。HttpServlet;

import javax。servlet。http。HttpServletRequest; import javax。servlet。http。HttpServletResponse;

公共类CreateEmployee扩展HttpServlet { @Override 受保护的void服务(HttpServletRequest请求,HttpServletResponse响应)

抛出ServletException,IOException { ServletContext sct = getServletConfig()。 GetServletContext();

//通过属性名称从上下文中获取属性值 Map dept(Map)sct。getAttribute(“ dept”);

设置键=部门keySet(); response。setContentType(“ text / html; charset = utf-8”);

ie浏览器经常未响应怎么解决

PrintWriter out = response。getWriter(); out。println(“”);

out。println(“”); out。println(“”); out。println(“”);

存储计数器的文件的路径为helloapp / count / count。txt。 2。 Web应用程序终止时,将Web应用程序范围内的计数器值保存到count。txt文件。包ServletContextTest;导入javax。servlet。ServletContext;

importjavax。servlet。ServletContextEvent; import javax。servlet。ServletContextListener;公共类MyServletContextListener实现ServletContextListener {

public void contextInitialized(ServletContextEvent sce){

System。out 。println(“ helloapp应用程序已初始化”。); //获取ServletContext对象

ServletContext context = sce。getServletContext();

try { //从文件中读取计数器值 BufferedReader reader = new BufferedReader(

new InputStreamReader(上下文。 getResourceAsStream(“ / count / count。txt”)));

int count = Integer。parseInt(reader。readLine()); reader。close();

//创建计数器对象 Counter counter = new Counter(count); } catch(IOException e){

e。printStackTrace(); } } public void contextDestroyed(ServletContextEvent sce){

System。out。println(“ helloapp应用程序已被破坏。”); //获取ServletContext对象

ServletContext context = sce。getServletContext();

//从Web应用程序范围获取计数器对象 Counter counter =(Counter)context。getAttribute(“ counter”);

if(counter!= null){ try { //将计数器值写入count。txt文件字符串filepath = context。getRealPath(“ / count”);

filepath = filepath +“ / count。txt”; PrintWriter pw =新的PrintWriter(文件路径);

pw。println(counter。getCount()); pw。close(); } catch(IOException e){

e。printStackTrace(); } } } } 在Servlet容器中注册用户定义的MyServletContextListener侦听器。当Servlet容器启动或终止Web应用程序时,它将调用侦听器的相关方法。在web。xml文件中,该元素用于向容器注册侦听器:

注意:应该输入类的包名称,例如以下内容(包名称标识类路径) com。efarm360。action。StartupAction

ie浏览器打不开未响应

通过上面的两个示例,可以非常清晰地了解了如何使用ServletContextListener接口和技巧。当Container加载Web应用程序时(例如,在启动Container之后),将调用contextInitialized(),并且当容器删除Web应用程序时,将调用contextDestroyed()方法。通过在Tomcat控制台中打印结果的顺序,您将发现,当Web应用程序启动时,Servlet容器首先调用contextInitialized()方法,然后调用lifeInit的init()方法。当Web应用程序终止时,Servlet容器首先调用lifeInit destroy()方法,然后调用contextDestroyed()方法。这表明,在Web应用程序的生命周期中,最早创建ServletContext对象,最晚创建该对象。

---可在微信公众号:kaigexuetang_com上关注更多Java学习材料(长按可复制以关注)