zoukankan      html  css  js  c++  java
  • 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模式下调试的时候,只要不是添加类,添加修改方法名,可以不用停止运行,保存后直接用

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

  • 相关阅读:
    [转]win7 系统装SQLServer2000 成功。
    Windows CE 电源管理(转贴)
    [转]Win7系统下VS2005_2008不识别WinCE5 SDK
    [转]windows 7 下ASP.net 本地配置 ( IIS 7)
    [转]SelectObject() 装载字体 VC EVC
    Mobile Development: Disable Windows Mobile 6.5 Start and Close Button
    [转]WebForm 与 winform 路径获取
    1. chromedriver的下载和配置
    Slf4j打印异常的堆栈信息
    写个日志请求切面,前后端甩锅更方便
  • 原文地址:https://www.cnblogs.com/chenyuanqiu2008/p/5485228.html
Copyright © 2011-2022 走看看