zoukankan      html  css  js  c++  java
  • JavaEE读书笔记

    1、JavaEE应用的分层模型
    A、Domain Object
    B、Data Access Object
    C、Service
    D、Controller
    E、Performance

    E--->D--->C--->B--->A--->DataBase

    2、ORM(Object Relation Mapping)

    3、POJO(Plain Ordinary Java Object)不含业务逻辑的java简单对象

    4、iBatis--->SQL Mapping Tools

    5、jsp注释<%-- --%> html注释<!-- -->

    6、JSP的7个动作指令
    jsp:forword:执行页面转向,将请求的处理转发到下一个页面
    jsp:param:用于传递参数,必须与其他支持参数的标签一起使用
    jsp:include:用于动态引入一个JSP页面
    jsp:plugin:用于下载JavaBean或Applet到客户端执行
    jsp:useBean:创建一个JavaBean的实例
    jsp:setProperty:设置JavaBean实例的属性值
    jsp:getProperty:输入JavaBean实例的属性值

    7、JSP脚本的9个内置对象
    application:javax.servlet.ServletContext的实例,该实例代表JSP所属的Web应用本身,可用于JSP页面,
    或者在Servlet之间交换信息,常用的方法有getAttribute(String attName)、setAttribute(String attName,String attValue)
    和getInitParameter(String paramName)等。

    config:javax.servlet.ServletConfig的实例,改实例代表改JSP的配置信息,常用的方法getInitParameter(String paramName)和
    getInitParameternames()等方法。事实上,JSP页面通常无需配置,也就不存在配置信息,因此,该对象更多地在Sevlet中有效。

    exception:java.lang.Throwable的实例,该实例代表其他页面中的异常和错误。只有当页面是错误处理页面,即编译指令page的
    isErrorPage属性为true时,该对象才可以使用。常用的方法有getMessage()和printStackTrace()等。

    out:javax.servlet.JspWritter的实例,该实例代表JSP页面的输出流,用于输出内容,形成HTML页面。

    page:代表该页面本身,通常没有太大用处,也就Servlet中的this,其类型就是生成的Servlet类,能用page的地方就可用this。

    pageContext:javax.servlet.jsp.PageContext的实例,该对象代表该JSP页面上下文,使用该对象可以访问页面中的共享数据。常用
    的方法用getServletContext()和getServletConfig()等。

    request:javax.servlet.http.HttpServletRequest的实例,该对象封装了一次请求,客户端的请求参数都被封装在该对象里。这是一个
    常用的对象,获取客户端请求参数必须使用该对象。常用的方法有getParameter(String paramName)、getParameterValues(String paramName)、
    setAttribute(String attrName,Object attrValue)、getAttribute(String attrName)和setCharacterEncoding(String env)等。

    response:javax.servlet.http.HttpServletResponse的实例,代表服务器对客户端的响应。通常很少使用该对象直接相应,而是使用
    out对象,除非需要生成非字符响应。而response对象常用于重定向,常用的方法有getOutputStream()、sendRedirect(java.lang.String location)等。

    session:javax.servlet.http.HttpSession的实例,该对象代表一次对话,当客户端浏览器与站点建立连接时,会话开始:当客户端
    关闭浏览器时,会话结束。常用的方法有:getAttribute(String attrName)、setAttribute(String attrName,Object attrValue)等。

    8、Struts 2开发流程
    A、再web.xml文件中定义核心的Filter来拦截用户请求
    <!-- 定义Struts2的核心Filter -->
    <filter>
    <filter-name>struts2</filter-name>
    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>
    <!-- 让Struts2的核心Filter拦截所有请求 -->
    <filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>
    B、定义POST方式还是GET方式,在JSP页面表现出来
    C、定义处理用户请求的Action类(Controller)
    public class LoginAction extends ActionSupport {
    private String username;
    private String password;

    public String getUsername() {
    return username;
    }

    public void setUsername(String username) {
    this.username = username;
    }

    public String getPassword() {
    return password;
    }

    public void setPassword(String password) {
    this.password = password;
    }

    public String execute() throws Exception {
    if (getUsername().equals("vijay") && getPassword().equals("vijay")) {
    ActionContext.getContext().getSession().put("user", getUsername());
    return SUCCESS;
    } else {
    return ERROR;
    }
    }
    }
    D、配置Action
    <!-- 指定Struts 2配置文件的根元素 -->
    <struts>
    <!-- 指定全局国际化资源文件 -->
    <constant name="struts.custom.i18n.resources" value="mess"/>
    <!-- 指定国际化编码所使用的字符集 -->
    <constant name="struts.i18n.encoding" value="GBK"/>
    <!-- 所有的Action定义都应该放在package下 -->
    <package name="lee" extends="struts-default">
    <action name="login" class="org.crazyit.app.action.LoginAction">

    </action>
    </package>
    </struts>
    E、配置处理结果和物理视图资源之间的对应关系
    <action name="login" class="org.crazyit.app.action.LoginAction">
    <!-- 定义三个逻辑视图和物理资源之间的映射 -->
    <result name="input">/login.jsp</result>
    <result name="error">/error.jsp</result>
    <result name="success">/welcome.jsp</result>
    </action>
    F、编写视图资源

  • 相关阅读:
    Socket.IO 客户端 API IO
    约束,在ios8 没问题,在ios7崩溃的问题,UItextField
    在Viewdidload里面给self.View加动画无效的问题
    改变UITextField PlaceHolder的字体和颜色,不影响正常输入
    iOS第三方键盘高度获取不准确问题
    tableViewCell的分割线短一截的问题
    iOS开发中模拟器归档成功,但是真机归档失败的问题
    C语言——数组、字符串
    C语言——函数
    C语言——流程控制
  • 原文地址:https://www.cnblogs.com/vijay/p/3747876.html
Copyright © 2011-2022 走看看