精华内容
下载资源
问答
  • JSPservlet中的路径配置问题

    千次阅读 2017-08-04 15:03:11
    每个javaWeb应用,都有一个web.xml配置文件,该文件中配置了该web应用servlet的映射关系。

    在每个JavaWeb应用中,都有一个web.xml配置文件,该文件中配置了该web应用中的servlet的映射关系。

    所有的servlet映射配置都是基于web应用的contextpath而言的, 例如:如果web应用的名称是qikan,部署在本地的tomcat8服务器,端口是8080,那么该web应用的contextpath就是http://localhost:8080/qikan,该路径可以通过request.getContextPath()得到。

     <servlet-mapping>
     <servlet-name>studiojnlpservlet</servlet-name>
     <url-pattern>/eschainstudio.jsp</url-pattern>
     </servlet-mapping>

    表示,当请求的url是 http://localhost:8080/qikan/eschainstudio.jsp的时候,会转到名称为studiojnlpservlet的servlet进行处理,可见,默认的,在所有的servlet的映射的配置中,都已经在的前面加上了contextpath,再比如,

    <servlet-mapping>
      <servlet-name>CMISMvcServlet</servlet-name>
      <url-pattern>*.jsp</url-pattern>
     </servlet-mapping>

    则表示,当请求的url是 http://localhost:8080/qikan +任何内容+.jsp的时候, 将转入名称是 CMISMvcServlet的 servlet 中进行处理。


    JSP网页中的相对路径与绝对路径

    http://localhost:8080/qikan/

    “/”代表根目录,”./” 代表当前目录,”../”代表上级目录。

    服务器端的相对地址指的是相对于你的web应用的地址,是在服务器端解析的。(http://localhost:8080/qikan/)

    html页面中的相对地址都是相对于服务器根目录,是客户端浏览器解析的。(http://localhost:8080/)

    这三者”/”, “./” ,”../”是绝对路径。

    展开全文
  • jsp中调用servlet路径问题

    千次阅读 2012-07-29 11:48:02
    今天调试servlet,从最简单的doget方法做起,用一个jsp表单调用servletaction中用绝对地址来访问servlet,最初是用servlet保存工程的地址,调试后页面出现404,提示找不到相应的文件,后来想到是否没有加入...

          今天调试servlet,从最简单的doget方法做起,用一个jsp表单调用servlet,在action中用绝对地址来访问servlet,最初是用servlet保存在工程中的地址,调试后页面出现404,提示找不到相应的文件,后来想到是否没有加入包的地址,加入包后仍然提示不存在,回想到昨天在web.xml中设置servlet路径时,用的另一个名称,不知是否与它有关,修改一下终于成功了。
         jsp中action路径如下:                   <form action="/JavaWebTest1/nihaoma"  method="get">
         web.xml中设置servlet路径如下:<url-pattern>/nihaoma</url-pattern>
         servlet在工程中的路径如下:       /JavaWebTest1/servlet/ServletTest1
        其中action中路径应该与web.xml中设置的访问servlet路径一直,而不是servlet在工程中的路径。

    展开全文
  • JSP编译后的Servlet类...探讨JSPServlet之间的关系时先看一个简单的HelloWorld.jsp编译成HelloWorld.java后会是什么样。①HelloWorld.jsp HelloWorld out.println("HelloWorld");%>②HelloWorld_jsp.javapackage

    JSP编译后的Servlet类会是怎样的呢?他们之间有着什么样的映射关系?在探讨JSPServlet之间的关系时先看一个简单的HelloWorld.jsp编译成HelloWorld.java后会是什么样。

    HelloWorld.jsp

    <%@ page contentType="text/html; charset=gb2312" language="java" %>

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

    <HTML>

        <HEAD>

        <TITLE>HelloWorld</TITLE>

        </HEAD>

    <BODY>

    <%

        out.println("HelloWorld");

    %>

    </BODY>

    </HTML>

    HelloWorld_jsp.java

    package org.apache.jsp;

     

    import javax.servlet.*;

    import javax.servlet.http.*;

    import javax.servlet.jsp.*;

     

    public final class HelloWorld_jsp extends org.apache.jasper.runtime.HttpJspBase

        implements org.apache.jasper.runtime.JspSourceDependent {

     

      private static final javax.servlet.jsp.JspFactory _jspxFactory =

              javax.servlet.jsp.JspFactory.getDefaultFactory();

     

      private static java.util.Map<java.lang.String,java.lang.Long> _jspx_dependants;

     

      public java.util.Map<java.lang.String,java.lang.Long> getDependants() {

        return _jspx_dependants;

      }

     

      public void _jspInit() {

      }

     

      public void _jspDestroy() {

      }

     

      public void _jspService(final javax.servlet.http.HttpServletRequest request, final javax.servlet.http.HttpServletResponse response)

            throws java.io.IOException, javax.servlet.ServletException {

     

        final javax.servlet.jsp.PageContext pageContext;

        javax.servlet.http.HttpSession session = null;

        final javax.servlet.ServletContext application;

        final javax.servlet.ServletConfig config;

        javax.servlet.jsp.JspWriter out = null;

        final java.lang.Object page = this;

        javax.servlet.jsp.JspWriter _jspx_out = null;

        javax.servlet.jsp.PageContext _jspx_page_context = null;

     

        try {

          response.setContentType("text/html; charset=gb2312");

          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("\r\n");

          out.write("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">\r\n");

          out.write("<HTML>\r\n");

          out.write("    <HEAD>\r\n");

          out.write("    <TITLE>HelloWorld</TITLE>\r\n");

          out.write("    </HEAD>\r\n");

          out.write("<BODY>\r\n");

          out.println("HelloWorld");

          out.write("\r\n");

          out.write("</BODY>\r\n");

          out.write("</HTML>\r\n");

        } catch (java.lang.Throwable t) {

          if (!(t instanceof javax.servlet.jsp.SkipPageException)){

            out = _jspx_out;

            if (out != null && out.getBufferSize() != 0)

              try { out.clearBuffer(); } catch (java.io.IOException e) {}

            if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);

            else throw new ServletException(t);

          }

        } finally {

          _jspxFactory.releasePageContext(_jspx_page_context);

        }

      }

    }

    经过前面介绍的语法解析及使用访问者模式对HelloWorld.jsp文件编译成相应的HelloWorld_jsp.java文件,可以看到Servlet类名是由jsp文件名_jsp拼成。再往下看HelloWorld_jsp.java文件的详细内容,类包名默认为org.apache.jsp,默认有三个导入“import javax.servlet.*;import javax.servlet.http.*;import javax.servlet.jsp.*;”。

    接下去是真正的类主体,jsp生成的java类都必须继承org.apache.jasper.runtime.HttpJspBase,这个类的结构图如下,继承了HttpServlet是为了将HttpServlet的所有功能都继承下来,另外又实现HttpJspPage接口定义了一个JSP类的Servlet的核心处理方法_jspService,除此之外还有_jspInit_jspDestroy用于在jsp初始化和销毁时执行,这些方法其实都是由Servletserviceinitdestroy方法间接去调用,所以jsp生成servlet主要就是实现这三个方法。

     

    除了继承HttpJspBase外还需实现org.apache.jasper.runtime.JspSourceDependent接口,这个接口只有一个返回Map<String,Long>类型的getDependants()方法,Map的键值分别为资源名和最后修改时间,这个实现主要是为了记录某些依赖资源是否过时,依赖资源可能是page指令导入的也可能是标签文件引用等。在生成servlet时如果jsp页面做了上述依赖的话则会在servlet类中添加一个static块,static块会将资源及最后修改时间添加到Map中。

    jspservlet处理过程中会依赖很多资源,比如我要操作会话的话就需要此次访问的HttpSession对象,比如我要操作Context容器级别的对象就要ServletContext对象,再比如我要获取servlet配置信息就要ServletConfig对象,最后还需要一个输出对象用于在处理过程中将内容输出。这些对象都在核心方法_jspService中使用,作为servlet类要获取这些对象其实非常简单,因为这些本身就属于servlet属性,有相关方法直接获取。但这里因为JSP有自己的标准,所以必须按照它的标准去实现。

    具体的JSP标准是怎样的?首先,为了方便JSP的实现提供一个统一的工厂类JspFactory用于获取不同的资源;其次,由于按照标准规定不能直接使用servlet上下文,所以需要定义一个PageContext类封装servlet上下文;最后,同样按照标准需要定义一个输出类JspWriter封装servlet的输出。所以可以看到PageContext对象通过JspFactory获取,其他ServletContext对象、ServletConfig对象、HttpSession对象及JspWriter则通过PageContext对象获取。通过这些对象再加上前面章节语法解析得到的语法树对象,再利用访问者模式对语法树遍历就可以生成核心处理方法_jspService了。

    上面只是介绍了最简单的一个jsp页面转变成servlet的过程,旨在说明jspservlet转化的原理,实际上需要处理很多jsp指令标签。


    点击订购作者《Tomcat内核设计剖析》



    展开全文
  • 我们都知道web-inf中的jsp文件是不能直接访问的,而且他们之间也是不能相互简单的访问,我们常常采用的办法就是只有通过servlet中的request.getRequestDispatcher("/WEB-INF/xxx/yyy.jsp").forward(request, ...

    我们都知道web-inf中的jsp文件是不能直接访问的,而且他们之间也是不能相互简单的访问,我们常常采用的办法就是只有通过servlet中的request.getRequestDispatcher("/WEB-INF/xxx/yyy.jsp").forward(request, response);

    jsp访问servlet的步骤:

    1、将servlet在web.xml中部署

    <servlet>
    <servlet-name>yyy</servlet-name>
    <servlet-class>com.test.yyy</servlet-class>
    </servlet>


    <servlet-mapping>
    <servlet-name>yyy</servlet-name>
    <url-pattern>/yyy</url-pattern>
    </servlet-mapping>

    2.在要使用servelet的地方通过下面的方式

    url:  ${pageContext.request.contextPath}/yyy或者<%=request.getContextPath()%>/yyy     (还可使用?带上要传递的参数同get方式一样


    通过上面的两步就可访问到servlet

    servlet转向jsp

    .request.getRequestDispatcher("/WEB-INF/xxx/yyy.jsp").forward(request, response);    一步即可并且相应的参数也带上了


    web-inf下的jsp访问web-inf下面的jsp

    1.想转到servlet

    2.再转到web-inf下的jsp


    web-inf外面的jsp是可以随便调用的,按照一般的方式就行。


    展开全文
  • Myeclipse配置servletjsp模板代码

    千次阅读 2011-11-13 23:12:38
    Myeclipse配置servletjsp模板代码 注意:修改时请关闭MyEclipse 1.myeclipse安装目录搜索:com.genuitec.eclipse.wizards_9.0.0.me201103012021文件,版本不同后面的9.0.0.me201103012021可能会不同。 2. ...
  • JSpServlet跳转路径配置

    千次阅读 2017-06-02 22:07:59
    一、web.xml的配置 <servlet> <!--servlet-class为链接的类库 --> <servlet-name>ServletInfo</servlet-name> <servlet-class>servlet.ServletInfo</servlet-class> </servlet> <servlet-mapping> <servle
  • Eclipse中配置Servlet流程

    千次阅读 2015-09-26 01:41:54
    1、通过jsp的request并在servlet中捕获并输出的例子。 2、jsp页面编程,不难,action处先留空。 3、编写servlet。新建servlet,按照向导一步步。注意可以向导中设置web.xml,比如url、init_param等。 注意...
  • 请求被封装成为一个HttpServletRequest对象。使用getParameter(String )来获得GET请求的参数。 响应被封装成为一个HttpServletResponse对象。...servlet可以使用getServletContext.getInitParam(String paramN
  • JSP Servlet的映射

    千次阅读 2008-05-06 15:15:00
    写好一个 叫HelloWorld的servlet,之后直接地址栏输入链接http://localhost:8080/servlet/HelloWorld,结果并不能得到想要的运行结果,server会报错:Error 404--Not Found 这是什么原因了?Servlet必须使用...
  • 今天遇到了一个jspServlet传值的问题,通过查资料解决了。下面和大家来分享一下。  例子一  index.jsp相关代码如下    Servlet相关代码如下   list.jsp相关代码如下 解释例子一   上面的例子...
  • ServletJSP配置web.xml)

    万次阅读 2018-03-18 22:01:15
    doLogin.jsp最开始页面负责登录业务逻辑的处理,现在把代码移到Servlet中,实现前后端代码的分离。Servlet特点特点:服务器端程序,多线程,效率高,可移植,易使用,功能强。缺点:前端表现差劲。Servlet最大的...
  • Jsp+Servlet怎么form中指定要访问的servlet中的方法名,在Jsp中写了一个form,然后想指定访问servlet中的regist()方法,而不是doGet()或者doPost()方法,应该怎么样指定
  • 在jsp/servlet中使用apache FileUpload组件文件上传(jsp,servlet,fileupload)文件上传web应用中非常普遍,比如说你可struts中实现,也可使用其它第三方组件。要servlet/jsp环境中实现文件上传功能也是非常容易...
  • jspServlet;Servletjsp传数据

    千次阅读 2019-05-17 16:17:38
    Java想数据从Jsp传到Servlet或者从Servlet传到Jsp是如何做到的呢!首先,要了解JspServlet的概念。Jsp是一种建立在Servlet规范提供的功能之上的动态网页技术,允许网页文件嵌入Java代码和Jsp标记。通俗...
  • JSP以及Servlet中文乱码问题

    千次阅读 2018-10-13 17:10:32
    这种是最常见的,设置编码的位置位于 JSP 的第一行,如果 Eclipse 新建一个 JSP 默认 是下面这种: &lt;%@ page language=“java” contentType=“text/html; charset=ISO-8859-1” pa...
  • maven添加servletjsp依赖

    万次阅读 2016-09-24 23:43:25
    maven添加servletjsp依赖创建java web项目之后,首先是需要添加servletjsp依赖到pom.xml: <groupId>javax.servlet <artifactId>javax.servlet-api <version>3.0.1 <scope
  • jsp页面访问servlet

    千次阅读 2017-09-28 18:50:59
    1.新建一个Dynamic Web Project项目,里面新建一个servlet,新建一个jsp,整体的框架结构如下所示: 2.LoginServlet.java文件的代码如下所示: package servlet; import java.io.IOException; import java.io....
  • Web.xml中配置Servlet

    千次阅读 热门讨论 2016-07-16 11:20:44
    之前做项目中,一直需要web.xml中配置Servlet,但为什么这么写,这么写是如何通过配置文件找到我们响应的Servlet中的方法的呢?今天就从配置开始说起,我们的Servlet是如何整个项目中起作用的。  Servelt配置...
  • JSPServlet的中文乱码处理

    万次阅读 多人点赞 2012-08-12 09:31:15
    前几天学习了JSPServlet中有关中文乱码的一些问题,写成了博客,今天进行更新一下。应该是可以解决日常的乱码问题了。现在作以下总结希望对需要的人有所帮助。我也是刚学,所以有不足之处希望谅解。 一、表单提交...
  • 通过JSP页面访问Servlet

    千次阅读 2018-03-25 14:27:03
    我们可以通过JSP页面的表单或者超链接请求某个servlet。通过JSP页面访问servlet的好处是JSP页面负责页面的静态信息处理,动态信息处理有Servlet完成...2.通过超链接访问Servlet在JSP页面,可以单击超链接访问Serv...
  • 今天让这个问题纠结了大半天,关于如何在servlet中获取jsp中form表单提交的变量,由于是新手,总结的地方可能不太很准确,望见谅 下面是用jfreechart做的一个柱状图,需要用到form表单中下拉选择框提交的年份,表单...
  • Jsp Servlet配置过滤器Filter

    千次阅读 2011-04-27 11:49:00
    首先创建好Servlet——我这里创建了一个BaseServlet(通用Servlet)这样可以避免创建太多的Servlet: package servlet; import java.io.IOException; import java.lang.reflect.Method; import javax.servlet....
  • JSP中如何把servlet中值传到JSP页面

    千次阅读 2018-03-18 15:10:49
     servlet中getServletContext()可以获得一个ServletContext对象,利用这个对象的getAttribute()/setAttribute()方法可以整个WEB应该里共享数据,可以实现servlet和jsp之间的数据互传  比如:在servlet中...
  • Maven添加servletjsp依赖

    千次阅读 2020-05-11 13:54:48
    Maven添加servletjsp依赖 最近学习java web的知识,正好把servlet所需的依赖打一下 创建java web项目之后,首先是需要添加servletjsp依赖到pom.xml: 目前是最新版的 <dependency> <groupId>...
  • jsp转换为Servlet规则

    千次阅读 2014-05-15 09:31:03
    jsp转换为servlet规则
  • Tomcat下JSPServlet和JavaBean环境的配置

    万次阅读 热门讨论 2004-06-24 12:09:00
    Tomcat下JSPServlet和JavaBean环境的配置 http://www.chinaunix.net 作者:echoguo 发表于:2003-08-27 13:22:31 经常看到jsp的初学者问tomcat下如何配置jspservlet和bean的问题,于是总结了一下如何tomcat下...
  • JspServlet中引用路径问题

    千次阅读 2013-11-15 22:38:54
    学Web开发没多久,这些路径问题就搞得很...1.首先在Servlet中,我想要转发到 test.jsp , 这里就需要一个路径的问题了 这时候只要把 当前目录当成是 WebContent这个目录 request.getRequestDispatcher("/jsp/test.jsp").
  • jspservlet 有什么区别?

    万次阅读 2019-06-19 14:24:48
    jspservlet 有什么区别? Servlet 一种服务器端的Java应用程序 由 Web 容器加载和管理 用于生成动态 Web 内容 负责处理客户端请求 JspServlet 的扩展,本质上还是 Servlet 每个 Jsp 页面就是一个...
  • JSP转换Servlet

    千次阅读 2019-02-12 14:19:24
    一个JSP文件第一次被请求时,JSP引擎把该JSP文件转换成为一个servlet JSP引擎使用javac把转换成的servlet的源文件编译成相应的class文件 对每一个请求,JSP引擎创建一个新的线程来处理请求 JSPServlet本质 JSP是...
  • &lt;a href="/ToEditTitle?isbn=&lt;%=titles.getIsbn()%&...这一段代码在jsp中,意通过链接到servlet中来处理,而后,servlet通过请求转发来跳转到相应的jsp页面。 可是,实际中却无法...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 479,184
精华内容 191,673
关键字:

在jsp中如何配置servlet