zoukankan      html  css  js  c++  java
  • java web开发入门二(struts)基于eclispe

    JavaBean

     JavaBean,  咖啡豆。 JavaBean是一种开发规范,可以说是一种技术。

    JavaBean就是一个普通的java类。只有符合以下规定才能称之为javabean:

    1)必须提供无参数的构造方法

    2)类中属性都必须私有化(private)

    3)该类提供公开的getter 和 setter方法

    getName() setName(String name)

    注意: boolean类型的get方法名称叫 isXXX()方法  public boolean isAcitve()

    JavaBean的作用: 用于封装数据,保存数据。

    访问javabean只能使用getter和setter方法

    JavaBean的使用场景:

    1)项目中用到实体对象(entity)符合javabean规范

    2)EL表达式访问对象属性。${student.name}  调用getName()方法,符合javabean规范。

    3)jsp标签中的属性赋值。 setNum(Integer num)。符合javabean规范。

    4)jsp页面中使用javabean。符合javabean规范

    struts

     struts是对servlet的封装

    1.开发步骤

    1.下载struts 开发库:http://struts.apache.org  下载点击下载:struts-*-all.zip版本 ,使用2.3版本

    2.在项目lib下面导入struts必须的包,然后build path

    commons-fileupload-1.2.2.jar 【文件上传相关包】
    commons-io-2.0.1.jar
    struts2-core-2.3.4.1.jar 【struts2核心功能包】
    xwork-core-2.3.4.1.jar 【Xwork核心包】
    ognl-3.0.5.jar 【Ognl表达式功能支持表】
    commons-lang3-3.1.jar 【struts对java.lang包的扩展】
    freemarker-2.3.19.jar 【struts的标签模板库jar文件】
    javassist-3.11.0.GA.jar 【struts对字节码的处理相关jar】

     3.配置web.xml

      <!-- 引入struts核心过滤器 -->
        <filter>
            <filter-name>struts2</filter-name>
            <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
        </filter>
        <filter-mapping>
            <filter-name>struts2</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>

    4.开发action

    在src下面创建struts的action,继承ActionSupport

    //开发action: 处理请求
    public class HelloAction extends ActionSupport {
        
        // 处理请求
        public String execute() throws Exception {
            System.out.println("访问到了action,正在处理请求");
            System.out.println("调用service");
            return "success";
        }
    }

    5.在src下面添加struts.xml文件(可以在struts包中搜索)

    一个struts.xml中可以有多个package,但是package的名称不能重复 

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE struts PUBLIC
              "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
              "http://struts.apache.org/dtds/struts-2.0.dtd">
    <struts>
        <!-- name任意名称,extends固定写法 -->
        <package name="mystruts" extends="struts-default">
            <!-- name:浏览器要访问的名称,class:编写的action全称,method:action下面的方法 -->
            <action name="hello" class="com.eggtwo.action.HelloAction"
                method="execute">
                <!-- name:返回值, 跳转地址 -->
                <result name="success">/index.jsp</result>
            </action>
        </package>
    </struts>

    5.1struts.xml的第二种配置方式:

    在src下面添加总的struts.xml文件,然后在总文件中引用各个包中的struts.xml文件

    总struts.xml文件:

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE struts PUBLIC
              "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
              "http://struts.apache.org/dtds/struts-2.0.dtd">
    <struts>
      <!-- 总配置文件:引用其他包中的独立的配置文件 -->
        <include file="com/eggtwo/action/struts.xml"></include>
    </struts>

    包中的struts.xml文件:

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE struts PUBLIC
              "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
              "http://struts.apache.org/dtds/struts-2.0.dtd">
    <struts>
        <!-- name任意名称,extends:继承的类 -->
        <package name=com.eggtwo.action namespace="/" extends="struts-default" abstract="false">
            <!-- name:浏览器要访问的名称,class:编写的action全称,method:action下面的方法 -->
            <action name="execute" class="com.eggtwo.action.HelloAction" method="execute">
                <!-- name:返回值, 跳转地址 -->
                <result name="success" >/index.jsp</result>
            </action>
            
            <action name="login" class="com.eggtwo.action.LoginAction" method="login">
                <!-- name:返回值, 跳转地址 -->
                <result name="success" >/login.jsp</result>
            </action>
        </package>
    </struts>

    项目结构:

    2.执行流程 

    服务器启动:

             1. 加载项目web.xml

             2. 创建Struts核心过滤器对象, 执行filter -> init()

                      struts-default.xml,    核心功能的初始化

                 struts-plugin.xml,     struts相关插件

                 struts.xml                 用户编写的配置文件

    访问:

             3. 用户访问Action, 服务器根据访问路径名称,找对应的aciton配置, 创建action对象

             4. 执行默认拦截器栈中定义的18个拦截器

             5. 执行action的业务处理方法

     

  • 相关阅读:
    【LeetCode】N数和
    用PHP写一个双向队列
    PHP的几种遍历方法
    thinkphp中dump()方法
    【转】PHP对象在内存中的分配
    【转】PHP的执行原理/执行流程
    从头到尾彻底解析哈希表算法
    【转】TCP通信的三次握手和四次撒手的详细流程(顿悟)
    springmvc中拦截器的定义和配置
    springmvc中的异常处理方法
  • 原文地址:https://www.cnblogs.com/eggTwo/p/11822266.html
Copyright © 2011-2022 走看看