• Servlet基础知识


    1.映射Servlet:
    Servelt名称(相当于别名)
    Servelt类的完整名称(用于反射)
    Servelt映射名称(网页处理的地址)

    <servlet>
    <servlet-name>login</servlet-name>
    <servlet-class>com.lovo.web.servlet.LoginServlet</servlet-class>
    </servlet>

    <servlet-mapping>
    <servlet-name>login</servlet-name>
    <url-pattern>/userLogin</url-pattern>
    </servlet-mapping>

    2.Servlet URL映射路径

    精确模式匹配
    扩展名匹配
    映射名称必须/开头

    通配符
    <url-pattern>/*.yuanqiu</url-pattern>

    扩展名,保证安全性
    请求里边用.yuanqiu结尾的都会转到这个映射
    比如http://127.0.0.1:8080/web01/sefse.yuanqiu

    /login/*.yuanqiu
    http://127.0.0.1:8080/web01/login/sefse.yuanqiu


    默认请求/ 不管是物理路径还是逻辑路径,都会经过这个处理
    在没有请求路径的时候
    <url-pattern>/</url-pattern>


    3、Servlet声明周期:
    初始化(装配,实例化)
    服务
    销毁

    初始化和销毁只执行一次,服务多次

    4、Servlet配置
    <init-param>
    <param-name>name</param-name>
    <prarm-value>111</param-value>
    </init-param>


    5、导Jar包
    get方法提交乱码是由web容器造成的。
    userName = new String(userName.getBytes("ISO8859-1"),"utf-8");

    数据库:手动提交,
    con.rollback();回滚,一点出现异常,回滚失误,刚才操作无效


    6、servlet应用上下文对象:ServletContext
    <!-- 向整个应用上下文(Servlet运行环境,类似于JVM)中 ,设置默认参数,这是一种初始化的设置方式-->
    <context-param>
    <param-name>qianduoduo</param-name>
    <param-value>5000000</param-value>
    </context-param>

    (Integer) getServletConfig().getServletContext().getAttribute("qianshaoshao");
    getServletContext().setAttribute("authCode", authCode);
    //将验证码放入应用上下文环境中,其他Servlet类都可以获取


    ServletContext sc = getServletConfig().getServletContext();
    setAtttribute("abc",1);


    7、重定向:
    //sendRedirect 只适合在应用程序内部完成重定向
    resp.sendRedirect(projectName+"/system/success.jsp");

    //下面这种就适合重定向到外部应用程序
    resp.setStatus(resp.SC_MOVED_TEMPORARILY);//用于设置响应码
    resp.setHeader("Location", "http://www.baidu.com");

    8、servlet配置读取:
    @Override
    public void init(ServletConfig config) throws ServletException {
    // TODO Auto-generated method stub
    password = config.getInitParameter("password");
    }

    String value = getServletConfig().getServletContext().getInitParameter("qianduoduo");

    9.页面模式是ISO8859-1 格式,转成utf-8,也可以在tomcat service.XML里边改
    String userName = req.getParameter("userName");
    userName = userName == null? "":userName;//三元运算符
    userName = new String(userName.getBytes("ISO8859-1"),"utf-8");

    10.属性的范围:request<session<Servletcontext
    范围越大,服务器需要维护所需资源更多,所以需求以下尽量小,可以用req

    用debug模式下调试的时候,只要不是添加类,添加修改方法名,可以不用停止运行,保存后直接用

    方法里修改的东西,可以不用停

  • 相关阅读:
    Netty(2):EventLoop
    Neo4j:Admin管理员操作
    Netty(1):入门HelloWorld程序
    Netty(4):Future、Promise
    Neo4j:相关概念和安装
    Netty(7):粘包与半包
    SpringBoot:整合Neo4j
    Neo4j:CQL
    Spring Data Jpa:打印可执行Sql
    响应式编程介绍
  • 原文地址:https://www.cnblogs.com/chenyuanqiu2008/p/5485228.html
Copyright © 2020-2023  润新知