Web应用开发技术经验收获

Web应用开发技术经验收获

jsp程序的部署

1、在项目文件夹下创建WEB-INF文件夹,在WEB-INF创建classes、libs文件夹和web.xml文件,classes文件夹中存放编译好的.class文件,libs中存放用到的jar包,jsp文件和html文件放在项目文件夹下。


<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
web-app>

2、将项目文件夹拷贝到tomcat文件夹的webapps底下。
3、启动tomcat,tomcat会自动加载webapps文件夹下的项目,如果要修改代码,需要重新启动服务器以便重新加载。

JavaBean的四种属性

1、简单属性

public class MyBean{
    private String value;//私有属性
	//get方法
    public String getValue(){
        return value;
    }
    //set方法
    public void setValue(String newValue){
        value = newValue;
    }
}

2、索引属性

public class MyBean{
    private String[] strs = new String[7];
    //整个列表的get方法
    public String[] getStrs(){
        return strs;
    }
    //整个列表的set方法
    public void setStrs(String[] newStrs){
        strs = newStrs;
    }
    //列表元素的get方法
    public String getStrs(int index){
        return strs[index];
    }
    //列表元素的set方法
    public void setStrs(int index,String newValue){
        strs[index]=newValue;
    }
}

3、绑定属性
4、约束属性

import java.beans.*;

public class MyBean{
    private int value;//约束属性
    private VetoableChangeSupport vetoableChangeSupport = new VetoableChangeSupport(this);//管理可否决修改监听者的实用类
    private PropertyChangeSupport propertyChangeSupport = new PropertyChangeSupport(this);//管理属性改变监听者的实用类

    //无参数构造方法
    public MyBean(){
        value=0;
    }

    //value属性的get方法
    public int getValue(){
        return value;
    }

    //value属性的set方法
    public void setValue(int newValue) throws PropertyVetoException{
        int oldValue = getValue();//得到旧值
        vetoableChangeSupport.fireVetoableChange("value",oldValue,newValue);//触发可否决修改事件,如果抛出属性否决异常,则中止set方法
        value = newValue;//给属性赋值
        propertyChangeSupport.firePropertyChange("value",oldValue,newValue);//触发属性修改事件
    }

    //添加可否决修改监听者
    public void addVetoableChangeListener(VetoableChangeListener l){
        vetoableChangeSupport.addVetoableChangeListener(l);
    }

    //移除可否决修改监听者
    public void removeVetoableChangeListener(VetoableChangeListener l){
        vetoableChangeSupport.removeVetoableChangeListener(l);
    }

    //添加属性改变监听者
    public void addPropertyChangeListener(PropertyChangeListener l){
        propertyChangeSupport.addPropertyChangeListener(l);
    }

    //移除属性改变监听者
    public void removePropertyChangeListener(PropertyChangeListener l){
        propertyChangeSupport.removePropertyChangeListener(l);
    }

    //不妨用一个main方法进行测试
    public static void main(String[] argv){
        MyBean mb = new MyBean();

        //定义一个可否决修改监听者对象
        VetoableChangeListener vcl = new VetoableChangeListener(){
            @Override
            public void vetoableChange(PropertyChangeEvent evt) throws PropertyVetoException{
                throw new PropertyVetoException("否决属性修改!",evt);//通过抛出异常否决属性更改
            }
        };
        //定义一个属性改变监听者对象
        PropertyChangeListener pcl = new PropertyChangeListener(){
            @Override
            public void propertyChange(PropertyChangeEvent evt){
                System.out.println("属性修改触发了事件!");
            }
        };

        //添加监听者
        mb.addVetoableChangeListener(vcl);
        mb.addPropertyChangeListener(pcl);
        
        //尝试修改属性
        System.out.println(mb.getValue());
        try{
            mb.setValue(123);
        }catch(PropertyVetoException e){
            System.out.println("修改属性失败!");
        }
        System.out.println(mb.getValue());

        mb.removeVetoableChangeListener(vcl);//移除可否决修改监听者

        //尝试修改属性
        try{
            mb.setValue(123);
        }catch(PropertyVetoException e){
            System.out.println("修改属性失败!");
        }
        System.out.println(mb.getValue());
    }
}

你可能感兴趣的:(Web应用开发技术经验收获)