学习web项目
先配置web.xml用到什么框架向其中添加
用到spring时,添加监听器listener和其路径
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
用到struts时,添加filte设置过滤器类和映射filter-mapping
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
applicationContext.xml
<?xml version="1.0" encoding="GBK"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation">
<value>classpath:hibernate.cfg.xml</value>
</property>
</bean>
<!-- 依赖注入 -->
<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<bean id="adminDao" class="cn.bonck.test.dao.AdminDaoImpl">
<property name="hibernateTemplate" ref="hibernateTemplate" />
</bean>
<bean id="adminService"
class="cn.bonck.test.service.AdminService">
<property name="adminDao" ref="adminDao" />
</bean>
</beans>
写映射文件的规范
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.cjg.domain.Admin" table="admin" catalog="vote">
<id name="adminId" type="java.lang.Integer">
<column name="admin_id" />
<generator class="native" />
</id>
<property name="name" type="java.lang.String">
<column name="name" length="50" />
</property>
<property name="password" type="java.lang.String">
<column name="password" length="50" />
</property>
<property name="logintime" type="java.lang.String">
<column name="logintime" length="50" />
</property>
</class>
</hibernate-mapping>
配置地址
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation">
<value>classpath:hibernate.cfg.xml</value>
</property>
</bean>
<%@taglib prefix="s" uri="/struts-tags"%>
在jsp引入中加入这个就可以使用s表签
dataSource
第二篇:一个自己学习总结的php类学习笔记
1,类:类是一组具有相同数据结构和相同操作的对象的集合,类是对象的抽象,他将一组数据属性和在数据上的一组合法操作抽象封装,类好比是一个对象模板,基于类就可以生成多个具有不同属性值的对象。
2,创建类:
Class classname
{
}
3,为该类添加属性和方法:只需要在类中声明变量即可。声明了属性之后可以获取该属性的值。
⑴创建属性:Class classname
{
Var $myName;
Var $myAge;
}
⑵创建方法:class classname
{
Var $myName;
Var $myAge;
Function getName()
{
}
Function getAget($arg1,$arg2)
{
}
}
注:以上创建了两个类的方法,方法名称分别为:getName,getAge
4,构造函数:大多数的类都有构造函数,当一个类实例被调用时,将调用构造函数,通常在构造函数中将执行一些初始化的操作。
⑴在类中声明构造函数:同声明其他函数一样,但是构造函数的名称是固定的。即函数名必须为:__construct()
注:构造函数可以由编程人员主动调用,但大部分时候,都是在创建类对象实例的时候自动调用。构造函数也可以传递参数,这些参数可以在调用类的时候传递。
声明构造函数的方法:
Class classname
{
Function __construct($param)
{
代码
}}
⑵析构函数:是一种当对象被销毁时,无论使用了unset()或简单的脱离范围,都会被自动调用的函数。
与构造函数的名称类似,一个类的析构函数名称必须是_destruct()
5,类的实例化:声明了一个类之后,如果要使用该类,必须创建该类的一个实例,实际上也可以将该类作为一个变量,在使用之前必须手动定义。用关键字“new”来创建
一个类的实例。
<?php
Class classname
{
Function __construct($myName)
{echo (“我的名字是:$myName<br>”);}
}
$name1=new myName(“小猪”);
$name2=new myName(“小狗”); //创建了2个该类的实例
?>
注:new myName (“小猪”) 中的参数“小猪”会被 自动传递到构造函数,然后构造函数直接使用该参数。
6,使用类的属性:
在一个类中访问类成员变量有一个特殊的指针:$this通过该指针可能方便的访问类属性或是给类属性赋值。
Class classname
{
Var $myattrib; //定义属性
Function operate($myparam) //为类创建方法
{
$this->myattrib=$myparam; //设置属性值为$myparam
Echo $this->myattrib; //输出属性值
}
}
⑴如果要在类的外部访问一个类的属性,需要确定该属性能否被外部访问。因为在类中定义的属性可以设置外界访问的权限。
以上对属性$myarrtib进行限制,外界可以直接访问:
$newclass =new classname(); //创建一个类classname实例
$newclass->myattrib=”小马”; //给属性赋值
Echo $newclass->myattrib; //输出属性
⑵从类的外部直接访问类的属性不是一个好的方法,面向对象方法的一个优点就是使用类的封装。可以通过使用__get()和__set()函数来实现对该类属性的访问。
Class classname
{
Var $myattrib; //定义属性
Function __get($attribName) //获取属性值的函数
{
Return $this->attribName; //返回该属性的值
}
Function __set($arrtibName,$value) //设置属性值的函数
{
$this->$attribName=$value; //设置属性值
}
}
注:__get函数只有一个参数,该参数用来传递属性的名称,__set函数有两个参数,第一个参数为属性的名称,第二个参数为要设置的属性的值。可以通过这两 个函数来检查和设置任何属性的值。
7,类的访问控制:
Php5 支持的3 种控制符:
⑴public (默认的) public表示该属性和方法在类的内部或外部都可以直接被访问。
⑵private 表示该属性和方法只能在类的内部进行访问。如果没有使用__get()和__set(),则可能对所有的属性都使用这个关键字,也要选择部分方法为私有,但私有的属性和方法不能被继承。
⑶Protected 表示被标记的属性或方法只能在类的内部进行访问,他也存在于任何子类中。 Class classname
{
Public $myattrib;
Public function __get($attribName) //获取属性值的函数
{
Return $this->$attribName;//返回该属性值
}
Public function __set($attribName,$value) //设置属性值的函数
{
This->$attribName=$value;//设置属性值
}
}
8,类方法的调用:
Class classname
{
Var $myAttrib;
Function func_1($param) //函数func_1
{
代码
}
Function func_2($param1$param2)
{
代码
}
Function func_3($param1$param2)
{
代码
Return backvalue;
}
}
调用以上类的3个函数:
$newclass->func_1(“123”);
$newclass->func_2(“123”,”abc”);
$myvalue=$newclass->func_3(“123”,”abc”);//调用func_3并获取返回值。
9,有关类的代码:
$this通过该指针可能方便的访问类属性或是给类属性赋值。 class Employee //创建一个类“Employee”
{
var $empno; // 员工人数 //定义类的属性
var $empnm; // 员工姓名
function add_employee($in_num, $in_name) //创建类的方法为“add_employee”
{
$this->empno = $in_num; //给类的属性赋值
$this->empnm = $in_name;
}
function show() //创建类的方法为“show”
{
echo "$this->empno, $this->empnm"; //输出属性值
return;
}
function changenm($in_name)
{
$this->empnm = $in_name; }
}
$sbabu = new Employee;
$sbabu->add_employee(10,"sbabu"); $sbabu->changenm("babu"); $sbabu->show();