servlet-api

发布于:2025-05-14 ⋅ 阅读:(14) ⋅ 点赞:(0)

本次内容总结

1、再次学习Servlet的初始化方法
2、学习Servlet中的ServletContext和<context-param>
3、什么是业务层
4、IOC
5、过滤器
7、TransActionManager、ThreadLocal、OpenSessionInViewFilter

1、再次学习Servlet的初始化方法

1)Servlet生命周期:实例化、初始化、服务、销毁。

2)Servletz中的初始化方法有两个:init(),init(config)--->使用时会调用无参的

        其中带参数的方法如下
                public void init(ServletConfig config) throws ServletException {
                    this.config = config;
                    this.init();
                }
                无参的方法如下
                 public void init() throws ServletException {
                }

所以我们要是想在初始化的时候做一些自定义操作,那么就可以重写无参的init方法,比如通过config.getInitParameter()获取初始化参数、通过getConfig()获取ServletConfig对象等,即:

我们可以通过如下步骤获取初始化设置的数据
        获取config对象:        ServletConfig servletConfig = getServletConfig();
        获取初始化参数值:       String helloValue = servletConfig.getInitParameter("hello");

那初始化怎么去配

3)在web.xml文件中配置Servlet
    <servlet>
        <servlet-name>Demo01Servlet</servlet-name>
        <servlet-class>com.wenrui.servlet.Demo01Servlet</servlet-class>
        <init-param>
            <param-name>hello</param-name>
            <param-value>world</param-value>

//根据这个hello来获取world值,key-value类型
        </init-param>
        <init-param>
            <param-name>username</param-name>
            <param-value>jim</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>Demo01Servlet</servlet-name>
        <url-pattern>/demo01</url-pattern>
    </servlet-mapping>
4)也可以通过注解的方式配置

一开始是这样的写法@WebServlet("/demo01"},WebServlet是一个属性名,点进去发现urlPatter后面+s,说明可以有多个,这也就对应配置文件当中servlet-mapping可以有多个,


咱们现在用这个@WebServlet(urlPatterns = {"/demo01"},initParams = {
//        @WebInitParam(name = "hello",value = "world"),
//        @WebInitParam(name = "username",value = "jim")
//})优化配置文件感觉

2.通过ServletContext(Servlet上下文,和config一样都是接口)获取配置的上下文参数(<context-param>)
    1)获取ServletContext,有很多中方法  
        <context-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:applicationContext.xml</param-value>
        </context-param>
        在初始化方法中:
                ServletContext servletContext = getServletContext();//其实servletContext就是application
        在服务方法中也可以通过request对象获取:
                ServletContext servletContext = req.getServletContext();
                ServletContext servletContext1 = req.getSession().getServletContext();
    2)获取初始化值:
        String contextConfigLocationValue = servletContext.getInitParameter("contextConfigLocation");


网站公告

今日签到

点亮在社区的每一天
去签到