精华内容
下载资源
问答
  • jsp写后台自动运行程序

    千次阅读 2013-10-14 10:53:43
    1.建立运行类 import java.sql.Connection; import java.sql.DriverManager; import java.util.Timer; import java.util.TimerTask; import javax.servlet.ServletContextEvent; import javax.servlet....

    1.建立运行类

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.util.Timer;
    import java.util.TimerTask;
    
    import javax.servlet.ServletContextEvent;
    import javax.servlet.ServletContextListener;
    public class DataTranData implements ServletContextListener {
    	private Timer timer = null;
    
    	public void contextInitialized(ServletContextEvent event) {
    		timer = new Timer(true);
    		/*
    		 * 这里开始循环执行 MyJob()方法了 schedule(param1, param2,param3)这个函数的三个参数的意思分别是:
    		 * param1:你要执行的方法;param2:延迟执行的时间,单位毫秒;param3:循环间隔时间,单位毫秒
    		 */
    		timer.schedule(new MyJob(), 0, 50000000);
    	}
    
    	public void contextDestroyed(ServletContextEvent event) {
    		timer.cancel();
    	}
    	
    
    }
    package com.cennavi.uti;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.util.TimerTask;
    
    public class MyJob extends TimerTask{
    	public void run() {
    		//连接数据库
    		Connection c = null;
    		try {
    			Class.forName("org.postgresql.Driver");
    			c = DriverManager.getConnection(
    					"jdbc:postgresql://localhost:5432/postgres", "postgres",
    					"123456");
    		} catch (Exception e) {
    			e.printStackTrace();
    			System.err.println(e.getClass().getName() + ": " + e.getMessage());
    			System.exit(0);
    		}
    		System.out.println("Opened database successfully") ;
    		//查询数据表中的列信息
    		
    	}
    }
    


    2.webconfig里面配置运行类

    <listener> 
        <listener-class>com.cennavi.uti.DataTranData</listener-class> 
    </listener>



    展开全文
  • JSPjsp运行原理

    千次阅读 2013-01-21 10:28:52
    当服务器上的一个jsp页面被第一次请求执行时,服务器上的jsp引擎首先将jsp页面文件转译成一个java文件,再将java文件编译生成字节码文件,然后通过执行字节码文件来响应客户的请求。而当jsp文件再次被请求执行时,...
    当服务器上的一个jsp页面被第一次请求执行时,服务器上的jsp引擎首先将jsp页面文件转译成一个java文件,再将java文件编译生成字节码文件,然后通过执行字节码文件来响应客户的请求。而当jsp文件再次被请求执行时,jsp引擎将直接执行字节码文件来响应客户,这是jsp比asp速度快的一个原因。

    字节码文件的主要工作是:
    (1)把jsp页面中普通的HTML标记符号(页面静态部分)交给客户的浏览器负责显示。
    (2)执行"<%"和"%>"之间的java程序片(页面动态部分),并把执行结果交给客户的浏览器显示。
    (3)当多个客户请求一个jsp页面时,jsp引擎为每个客户自动启动一个线程(不是进程),这些线程由jsp引擎服务器来管理,比传统的CGI为每个客户启动一个进程的效率要高。
    展开全文
  • 本文实例讲述了JSP程序运行原理、文档结构及简单输入输出。分享给大家供大家参考。具体如下: 目标: 掌握Web应用的文档结构; 掌握JSP运行原理; 掌握JSP的简单输入和输出。 主要内容: 通过一个简单实例介绍Web...
  • MyEclipse搭建SSH框架时,运行自动生成的index.jsp,启动tomcat报如下错误,捣鼓了好久一直没有解决,望大神帮忙
  • 我写完某个JSP文件后用服务器调用惊奇地发现一加载网址就自动下载~ 其实问题主要出现在 pagepagepage 指令标记上,下面这个是正确格式 <%@ page contentType="text/html;charset=UTF-8" %> 一般有两个错误: ...

    我写完某个JSP文件后用服务器调用惊奇地发现一加载网址就自动下载~
    其实问题主要出现在 p a g e page page 指令标记上,下面这个是正确格式

    <%@ page contentType="text/html;charset=UTF-8" %>
    

    一般有两个错误:
    1 text 写成 txt
    错误:

    <%@ page contentType="txt/html;charset=UTF-8" %>
    

    2 ; 写成 ,
    错误:

    <%@ page contentType="txt/html,charset=UTF-8" %>
    

    格式修改正确就能运行啦😀

    展开全文
  • 图解JSP运行原理和过程

    万次阅读 2016-05-13 10:36:05
    JSP运行过程 WEB容器JSP页面的访问请求时,它将把该访问请求交给JSP引擎去处理。Tomcat中的JSP引擎就是一个Servlet程序,它负责解释和执行JSP页面。 每个JSP页面在第一次被访问时,JSP引擎先将它翻译成一个Servlet源...

    JSP运行过程

    1. WEB容器JSP页面的访问请求时,它将把该访问请求交给JSP引擎去处理。Tomcat中的JSP引擎就是一个Servlet程序,它负责解释和执行JSP页面。
    2. 每个JSP页面在第一次被访问时,JSP引擎先将它翻译成一个Servlet源程序,接着再把这个Servlet源程序编译成Servlet的class类文件,然后再由WEB容器像调用普通Servlet程序一样的方式来装载和解释执行这个由JSP页面翻译成的Servlet程序。

    实例解释

    我们用一个实例来说明上面的JSP运行过程:

    1. Hello.jsp文件内容如下:

    <%@ page pageEncoding="UTF-8" %>
    <html>
    <head>
        <title>Hello</title>
    </head>
    <body>
    <h1>Hello!</h1>
    <h2>当前时间:${currentTime}</h2>
    </body>
    </html>

    2. servlet代码

    下面代码通过注解来处理/hello的请求, 并在代码中将请求转发到上述hello.jsp.

    @WebServlet("/hello")
    public class HelloServlet extends HttpServlet {
        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            String currentTime = dateFormat.format(new Date());
            req.setAttribute("currentTime",currentTime);
            req.getRequestDispatcher("/WEB-INF/jsp/hello.jsp").forward(req,resp);
        }
    }

    3. 运行服务器并访问

    这时用everything搜索本机上的hello_jsp.java文件, 可以找到如下内容的文件:

    /* 这里显示这是由Tomcat的Jasper组件自动生成的, 接下来我们看下其中最主要的方法
     * Generated by the Jasper component of Apache Tomcat
     * Version: Apache Tomcat/9.0.0.M4
     * Generated at: 2016-05-13 01:56:54 UTC
     * Note: The last modified time of this file was set to
     *       the last modified time of the source file after
     *       generation to assist with modification tracking.
     */
    package org.apache.jsp.WEB_002dINF.jsp;
    
    public final class hello_jsp extends org.apache.jasper.runtime.HttpJspBase
        implements org.apache.jasper.runtime.JspSourceDependent,
                     org.apache.jasper.runtime.JspSourceImports {
    
      ...
    
      // 这里是最主要的方法, 我们在jsp文件里的内容, 都在这里通过out.write写入到输出中.
      public void _jspService(final javax.servlet.http.HttpServletRequest request, final javax.servlet.http.HttpServletResponse response)
          throws java.io.IOException, javax.servlet.ServletException {    
        try {
          response.setContentType("text/html;charset=UTF-8");
          pageContext = _jspxFactory.getPageContext(this, request, response,
                    null, true, 8192, true);
          _jspx_page_context = pageContext;
          application = pageContext.getServletContext();
          config = pageContext.getServletConfig();
          session = pageContext.getSession();
          out = pageContext.getOut();
          _jspx_out = out;
    
          out.write("\n");
          out.write("<html>\n");
          out.write("<head>\n");
          out.write("    <title>Hello</title>\n");
          out.write("</head>\n");
          out.write("<body>\n");
          out.write("\n");
          out.write("<h1>Hello!</h1>\n");
          out.write("\n");
          out.write("<h2>当前时间:");
          out.write((java.lang.String) org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate("${currentTime}", java.lang.String.class, (javax.servlet.jsp.PageContext)_jspx_page_context, null));
          out.write("</h2>\n");
          out.write("\n");
          out.write("</body>\n");
          out.write("</html>");
        } catch (java.lang.Throwable t) {
          ...
        } finally {
          _jspxFactory.releasePageContext(_jspx_page_context);
        }
      }
    }
    

    这里可以看出, 当我们访问需要jsp文件时, tomcat的Jasper组件会将jsp文件翻译成java文件, 然后再编译. 继续用everything搜索hello_jsp, 可以发现还有一个文件叫hello_jsp.class, 侧面印证了我们的论断.

    同时我们在jsp文件中的代码, 都被编译到了_jspService函数中, 这个函数会在servlet中service中执行, 来响应用户的操作.

    我们看下自动生成的类继承自 org.apache.jasper.runtime.HttpJspBase, 然后我们看下这个类的声明:

    public abstract class org.apache.jasper.runtime.HttpJspBase extends javax.servlet.http.HttpServlet implements javax.servlet.jsp.HttpJspPage

    HttpJspBase实现了HttpServlet, 所以jsp文件生成的类也是一个servlet. 所以其生命周期也可以交由web服务器控制.

    图形解释

    我们先用图形大概解释一下上述流程:
    这里写图片描述
    简洁易懂. 接下来我们在思考每一步的具体实现, 看下图:

    1.客户端请求jsp文件, web服务器(tomcat等)根据jsp文件生成java文件.

    这里写图片描述

    2.java文件生成对应的class字节码文件,字节码文件是可以通过classloader加载进虚拟机的.
    这里写图片描述

    3.web容器加载class字节码文件.
    这里写图片描述

    4.web容器通过反射等手段建立hello_jsp实例.
    这里写图片描述

    5.调用对应的jspInit来进行实例初始化.
    这里写图片描述

    6.调用_jspservice, 响应用户请求.
    这里写图片描述

    7.调用jspDestroy销毁jsp_hello实例.
    这里写图片描述

    因为jsp_hello继承自HttpJspBase, HttpJspBase又继承自Servlet, 所以jsp_hello是个servlet, 其生命周期可以交由web服务器控制.

    JSP的生命周期

    1)翻译: jsp->java文件
    2)编译: java文件->class文件(servlet程序)
    3)构造方法(第1次访问)
    4)init方法(第1次访问):_jspInit()
    5)service方法:_jspService()
    6)destroy方法:_jspDestroy()

    这里你可能会有疑问, 为什么调用的是 _jspService方法, 而不是Servlet的service方法? 我们看下HttpJspBase源码(在”tomcat\lib\jasper.jar”中的org.apache.jasper.runtime包中), 就明白了.

        public final void init(ServletConfig config) throws ServletException {
            super.init(config);
            this.jspInit();
            this._jspInit();
        }
    
        public String getServletInfo() {
            return Localizer.getMessage("jsp.engine.info");
        }
    
        public final void destroy() {
            this.jspDestroy();
            this._jspDestroy();
        }
    
        public final void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            this._jspService(request, response);
        }

    从中可以看到, Servlet的service会自动调用我们的_jspService方法, init会自动调用我们的_jspInit()方法, 这下终于真相大白了.

    [引用以下文章内容:
    http://blog.csdn.net/fengdongkun/article/details/8159381
    http://blog.csdn.net/hanxuemin12345/article/details/23831645]

    展开全文
  • JSP 页面自动刷新

    千次阅读 2018-09-06 11:09:14
    JSP提供了一种机制来使这种工作变得简单,它能够定时地自动刷新页面。 刷新一个页面最简单的方式就是使用response对象的setIntHeader()方法。这个方法的签名如下: public void setIntHeader(String hea...
  • 用Tomcat运行JSP

    千次阅读 2018-04-24 10:44:12
    新建JSP文件 在apache-tomcat-7.0.42\webapps\ROOT目录下...用tomcat运行JSP文件后浏览结果 打开tomcat服务器,然后用浏览器打开http://localhost:8080/ex6_1.jsp,即可看到执行后的结果。其后apache-tomcat-7....
  • 1、JSP是Java Server Pages 的缩写。 2、JSP的技术特点: ...3、JSP运行机制(当一个JSP文件第一次被请求时,JSP容器会先把该JSP文件转换成一个Servlet) JSP运行过程为: (1)、JSP文件转换成Ja
  • eclipse 运行jsp文件

    千次阅读 2018-06-29 10:42:52
    使用eclipse运行jsp文件时,再三确认配置的Tomcat服务器与建立的动态网页无误后,点击运行总是弹出如下错误:经过确认端口未被占用,但是仍然提示这种错误,后来发现是自己通过Tomcat安装目录下bin——startup.bat...
  • JSP起源、JSP运行原理、JSP的执行过程

    万次阅读 多人点赞 2012-11-07 20:28:49
    JSP起源 在很多动态网页中,绝大部分内容都是固定不变的,只有局部内容需要动态产生和改变。  如果使用Servlet程序来输出只有局部内容需要动态改变的网页,其中所有的静态内容也需要程序员用Java程序代码产生,...
  • JSP运行机制

    千次阅读 2015-06-05 21:21:27
    一、概述  JSP
  • JavaWeb--深入Servlet与JSP运行原理)

    万次阅读 多人点赞 2017-03-23 21:33:32
    复习复习!...Servlet和JSP是Java EE规范最基本成员,他们是Java Web开发的重点知识,即使我们经常使用框架开发后端,但是我们还是很必要去理解他们的原理的。文章结构:(1)剖析Servlet;(2)剖析JSP
  • Eclipse部署Tomcat实现JSP运行

    千次阅读 多人点赞 2018-09-07 14:40:57
    一、Tomcat下载安装 ... 安装:成功下载后会默认运行Tomcat服务,若要检验是否安装成功,...检验完成后打开任务管理器关闭Tomcat服务,目的在于Eclipse运行JSP文件时会自动打开Tomcat服务,若打开之前已有Tomcat服务运...
  • JSP运行内幕

    千次阅读 2004-08-17 22:54:00
    经常有朋友问起,JSP和Servlet之间有什么区别,两者之间又有什么联系?其实Servlet技术的出现时间很早,是当时为了Java的服务器端应用而开发的。大家都知道Applet是应用小程序,Servlet就是服务器端小程序了。但在...
  • jsp之Cookie自动登录

    热门讨论 2010-08-24 12:32:56
    jsp之Cookie自动登录类似于QQ自动登录一样,有助于用户在下载运行的时候更加方便,简洁
  • JSP运行原理及优势

    千次阅读 2012-03-22 23:37:13
    JSP本质上就是把Java代码嵌套到HTML中,然后经过JSP容器...如果JSP页面是第一次被请求运行,服务器的JSP编译器会生成JSP页面对应的JAVA代码,并且编译成类文件。当服务器再次收到对这个JSP页面请求的时候,会判断这个
  • 使用eclipse编写运行jsp文件

    万次阅读 多人点赞 2017-12-02 12:00:07
    eclipse创建运行JSP文件
  • JSP运行环境配置方法

    千次阅读 2005-03-03 13:19:00
    Sun推出的JSP(Java Server Pages)是一种执行于服务器端的动态网页开发技术,它基于Java技术。... 下面就以Tomcat作为JSP引擎,配合Tomcat、Apache、IIS这三种Web服务器来讲述3种搭建JSP运行环境的方案。 
  • 办公自动JSP

    2012-11-07 18:49:04
    办公自动化系统代码 论文 以及数据库代码 Myeclipse环境下配对绝对运行正常 绝对完全代码 如果不是敬请举报
  • MyEclipse 提示设置JSP自动提示

    万次阅读 2014-05-25 21:48:41
    MyEclipse 提示设置JSP自动提示 1、快捷键提示代码  window-->Preferences的General-->Keys下修改Content Assist的快捷键为Alt+/,这样就可以通过快捷键得到提示代码  一般,快捷键默认就是Alt+/ 2、自动提示 ...
  • jsp自动跳转的几种方法

    千次阅读 2017-07-14 19:09:50
    页面自动跳转问题,总结一下
  • 完整 jsp自动建站系统

    2008-06-30 17:04:21
    本源码是采用的是jsp技术数据库使用的比较简单ACCESS,这样也少了数据库设计.放到TOMCAT目录下基本上可以运行.
  • 1. JSP (java server page) JSP 是服务器端运行的页面,JSP 本身就是一个文档,它不仅可以包含静态的 HTML 代码,也可以包含动态的 JAVA 代码... JSP的特点: (1)JSP 里面可以嵌入 JAVA 代码 (2)在运行的时候,J
  • 如何运行.jsp文件

    千次阅读 2019-10-22 20:32:12
    此时会自动弹出窗口 不要关闭 3.在网页地址栏中输入http://localhost:8080检测是否正确运行 得到以下页面则正确 4.在webapps目录下创建个新文件,并把.jsp文件放入其中 再浏览器中输入...
  • 如何在本地运行jsp文件安装jdk下载tomcat启动tomcat 安装jdk jdk的安装建议,按默认安装路径 下载tomcat tomcat下载地址 建议 下载tomcat8。 因为如果打算在eclipse中运行jsp看页面效果的话,tomcat9没法用。(我用...
  • 老师说要写blog,然后只能把雪藏了多年没动过的博客重新翻出来了,今天先分享下JSP里的倒数计时和自动跳转页面 抓狂然后刚才好不容易码完,网页出错了。 1,在标签中建立onload事件,用作自动刷新; <body onload...
  • 这里提供了完全可以运行JSP 应用程序,以及极其详尽的配置方法。 可以作为项目参考 也可以作为毕业设计课题。 以个人名誉保证,绝对可以运行
  • jsp在tomcat上运行

    万次阅读 2017-05-02 23:26:28
    一、JSP简介 JSP:Java Server Pages。在传统的HTML文件(*htm,*.html)中加入Java程序片段(Scriptlet)和JSP标记(tag),就构成了JSP网页。   二、学习重点: JSP语法(脚本、指令、动作)JSP的内置对象创建...
  • 全部源码及jar包 可运行 jsp手册 随书源码

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 159,636
精华内容 63,854
关键字:

jsp自动运行