美文网首页
Servlet 路径配置,初始化参数.

Servlet 路径配置,初始化参数.

作者: senninha | 来源:发表于2017-04-02 00:21 被阅读273次

1.Servlet路径配置问题

首先是在servlet里配置

  • 注解配置:
    @WebServlet("/TestInit")
    public class TestInit extends HttpServlet
    //在类的前面加一个注解,这里的注解加一个 "/" 表示当前的根目录下,就是 地址/项目名/TestInit

  • xml配置:
    在xml里配置也是一个道理
    <url-pattern>/TestInit</url-pattern>
    这里的路径也是在 地址/项目名/TestInit

2.网页里的路径

如果还是按/xxxx的话,比如:

        <form action = "/xxx" method = "get">
            <input type = "submit" value = "跳转"/>
        </form>

会跳转到一个localhost:8888/se
当然是404了。

直接设置相对路径:

    <form action = "se" method = "get">
            <input type = "submit" value = "跳转"/>
        </form>

就可以正确跳转了。
但是如果我们要访问的路径是上一个目录下的,这时候如何设置相对路径呢,比如:

当前页面路径是localhost:8888/test/test/test
但是我们要访问的路径是localhost:8888/test/test1/test
这时候相对路径写:  ../test1/test
即可,../表示当前路径向前退一个路径,在linux里也是这样的,cd ..退到上一个路径

需要注意的是即使是在servlet里转发跳转,直接/xxx 还是会跳到服务器根目录去所以在servlet里跳转一样要遵循在html里的方法。

2.servlte的初始化参数:

注意,必须是在xml里配置的那个url访问才可以get到这个初始化方法,并且顺序是先username1-->username2并且当前servlet配置的信息只能被当前的servlet所共享,要全局初始化的话,要用context的初始化参数,见下

    //1.首先是配置对应的xml文件里的数据:
        <servlet>
            <servlet-name>test</servlet-name>
            <servlet-class>
                xxx.xxx
            </servlet-class>
            
            <init-param>
                <param-name>username</param-name>
                <param-value>senninha</param-value>
            </init-param>
            //并且可以设置多组初始化数据
            <init-param>
                <param-name>username1</param-name>
                <param-value>senninha1</param-value>
            </init-param>
        </servlet>
        
        
    //2.然后在是servlet里重写inti()方法:
            @Override
            public void init(ServletConfig config) throws ServletException {
                // TODO Auto-generated method stub
                Enumeration<String> initParaNames = config.getInitParameterNames();
                while(initParaNames.hasMoreElements()){
                String name = initParaNames.nextElement();
                System.out.println(name + ":"+config.getInitParameter(name));
            }
                super.init(config);
            }

获取全局初始化参数,这个方法可以在全局获取,并且注解或者xml里配置的url都可以获取到
既可以在重写的init方法里获取context对象:

        ServletContext context = config.getServletContext();
    
    //也可以在doGet方法里通过:
        ServletContext context = request.getServletContext()
        
    //然后获取初始化值就大同小异了:
        Enumeration<String> param = context.getInitParameterNames;
        while(param.hasMoreElements){
            String name = param.nextElement():
            System.out.println(name+ ":"+ context.getInitParameter(name)
        }

相关文章

  • ServletConfig对象

    1、配置文件中可以配置一个或多个 标签为servlet配置一些初始化参数 2、当servlet配置了初始化参数后,...

  • Servlet 路径配置,初始化参数.

    1.Servlet路径配置问题 首先是在servlet里配置 注解配置:@WebServlet("/TestIni...

  • javaweb学习总结(一)servlet开发

    一、ServletConfig详解 1.1 配置Servlet初始化参数 在Servlet的配置文件中,可以使用一...

  • JavaWeb-Servlet学习2

    ServletConfig 配置Servlet初始化参数在Servlet的配置文件web.xml中,可以使用一个或...

  • 2019-04-22

    (1)2.5 的xml配置 web.xml 初始化参数 (2)Servlet3.0 采取注解的方式servlet的...

  • Servlet

    Servlet介绍 Servlet开发步骤 创建Servlet 配置Servlet 配置Servlet中设置初始化...

  • Servlet声明配置2.5/3.x

    Servlet的声明配置信息主要包括Servlet的描述,名称,初始参数,类路径以及访问地址等。注解@WebSer...

  • web编程进阶(一)

    请问使用Servlet如何获取用户配置的初始化参数以及服务器上下文参数? 考察点:初始化参考回答: 可以通过重写S...

  • Servlet3- ServletConfig & Se

    ServletConfig Servlet配置文件中,可以使用一个或多个 标签配置一些初始化参数 创建实例对象时,...

  • Java路径问题总结

    1.Servlet路径 在Web.xml文件中配置映射路径时Servlet的访问路径要么以“/”开头,要么以“*...

网友评论

      本文标题:Servlet 路径配置,初始化参数.

      本文链接:https://www.haomeiwen.com/subject/jciwottx.html