panda

          IT高薪不是夢(mèng)!!

          統(tǒng)計(jì)

          留言簿

          閱讀排行榜

          評(píng)論排行榜

          2009年11月8日 #

          文件上傳(FileUpload)

          1.使用JAR
          ??????jsp文件上傳主要使用了兩個(gè)jar包,commons-fileupload-1.2.1.jar和commons-io-1.4.jar
          2.代碼實(shí)現(xiàn)
          ???? public class UploadServlet extends HttpServlet {

          ?/**
          ? *
          ? */
          ?private static final long serialVersionUID = 1L;

          ?private ServletContext sc;

          ?private String savePath;

          ?@Override
          ?protected void doGet(HttpServletRequest request,
          ???HttpServletResponse response) throws ServletException, IOException {
          ??doPost(request, response);
          ?}

          ?@Override
          ?protected void doPost(HttpServletRequest request,
          ???HttpServletResponse response) throws ServletException, IOException {

          ??System.out.println("請(qǐng)求進(jìn)來了..........");

          ??// 設(shè)置請(qǐng)求的編碼
          ??request.setCharacterEncoding("UTF-8");

          ??DiskFileItemFactory factory = new DiskFileItemFactory();//創(chuàng)建一個(gè)磁盤文件工廠
          ??ServletFileUpload upload = new ServletFileUpload(factory);

          ??try {
          ???List items = upload.parseRequest(request);
          ???Iterator it = items.iterator();
          ???while (it.hasNext()) {
          ????FileItem item = (FileItem) it.next();

          ????if (item.isFormField()) {
          ?????System.out.println("表單的參數(shù)名稱:" + item.getFieldName()
          ???????+ ",對(duì)應(yīng)的參數(shù)值:" + item.getString("UTF-8"));
          ????} else {
          ?????// 獲取文件擴(kuò)展名
          ?????String strtype = item.getName().substring(
          ???????item.getName().length() - 3,
          ???????item.getName().length());
          ?????strtype = strtype.toLowerCase();

          ?????if (strtype == "jpg" || strtype == "gif"
          ???????|| strtype == "txt") {
          ??????if (item.getName() != null
          ????????&& !item.getName().equals("")) {
          ???????System.out.println("上傳文件的大小:" + item.getSize());
          ???????System.out.println("上傳文件的類型:"
          ?????????+ item.getContentType());
          ???????System.out.println("上傳文件的名稱:" + item.getName());

          ???????System.out.println("文件的擴(kuò)展名" + strtype);
          ???????File tempFile = new File(item.getName());
          ???????File file = new File(
          ?????????sc.getRealPath("/") + savePath, tempFile
          ???????????.getName());
          ???????item.write(file);

          ???????request.setAttribute("upload.message", "上傳文件成功!");

          ??????} else {
          ???????request.setAttribute("upload.message",
          ?????????"沒有選擇上傳文件獲取格式不支持");
          ??????}
          ?????} else {
          ??????request.setAttribute("upload.message", "上傳文件格式不支持");
          ?????}
          ????}
          ???}
          ??} catch (Exception e) {
          ???e.printStackTrace();
          ???request.setAttribute("upload.message", "上傳文件不成功!");
          ??}
          ??// 轉(zhuǎn)發(fā)
          ??request.getRequestDispatcher("/uploadResult.jsp").forward(request,
          ????response);
          ?}

          ?@Override
          ?public void init(ServletConfig config) throws ServletException {

          ??savePath = config.getInitParameter("savePath");
          ??sc = config.getServletContext();
          ?}

          posted @ 2009-11-08 16:30 IT追求者 閱讀(171) | 評(píng)論 (0)編輯 收藏

          2009年10月12日 #

          Hibernate的多對(duì)一關(guān)聯(lián)映射

          1.關(guān)聯(lián)映射的本質(zhì):就是將關(guān)聯(lián)關(guān)系映射到數(shù)據(jù)庫中,關(guān)聯(lián)關(guān)系指對(duì)象模型中的一個(gè)或多個(gè)引用.

          2.下面列舉多對(duì)一的示例:用戶和組(多個(gè)用戶屬于一個(gè)組)多對(duì)一關(guān)聯(lián)映射是最常用的一種關(guān)聯(lián)映射

          ?? *User 類
          ???package com.lzy
          ?? public class User{

          ?? private int id;
          ?? private String name;

          ? private Group group;//持有組的引用
          ???
          ?? public User(){};

          ?? //省略set,get方法
          ?}


          ? *Group類
          ?package com.lzy
          ?public class Group{
          ??
          ?? private int id;

          ?? private String name;
          ?? //省略get,set方法
          ?}

          3.對(duì)對(duì)象進(jìn)行關(guān)系映射,這也是Hibernate中比較難的一點(diǎn)。
          ? (1)User.hbm.xml
          ??????
          ??????<?xml version="1.0">
          ??????<!DOCTYPE?hibernate-mapping PUBLIC? "-//Hibernate/Hibernate Mapping DTD 3.0//EN" http://hibernate.sourceforge.net/hibernate-mapping-3.0
          .dtd">
          ?? ? <hibernate-mapping package="com.lzy">
          ?????????<class name="User" table="t_user">
          ???????????????<id name="id" column="id">
          ?????????????????????<genarator class="native"/>
          ????????????? </id>
          ????????????<property name="name" column="user_name" not-null="true"/>
          ????????????<many-to-one name="group" column="groupid"/>
          ??????? </calss>
          ???? </hibernate-mapping>


          ?? (2)Group.hbm.xml
          ?????????
          ??????<?xml version="1.0">
          ??????<!DOCTYPE?hibernate-mapping PUBLIC? "-//Hibernate/Hibernate Mapping DTD 3.0//EN" http://hibernate.sourceforge.net/hibernate-mapping-3.0
          .dtd">
          ?? ? <hibernate-mapping package="com.lzy">
          ?????????<class name="Group" table="t_group">
          ???????????????<id name="id" column="id">
          ?????????????????????<genarator class="native"/>
          ????????????? </id>
          ????????????<property name="name" column="group_name" not-null="true"/>
          ??????</class>
          ???</hibernate-mapping>

          4.測(cè)試

          public class? Test {
          ???
          ? public static void main(String args[]){

          ??????SessionFactory? sessionFactory=null;
          ????? Session? session=null;
          ????? Transaction?? transaction=null;
          ??????
          ??????sessionFactory = HibernateUtil.getSessionFactory();// 創(chuàng)建一個(gè)會(huì)話工廠
          ????? session = sessionFactory.openSession();// 創(chuàng)建一個(gè)會(huì)話實(shí)例
          ????? transaction = session.beginTransaction();// 申明一個(gè)事務(wù)

          ??User user= new User();
          ??Group?group = new Group();

          ??user.setName("龍一");

          ??group.setName("中南大學(xué)");
          ? user.setGroup(group);

          ??try {

          ???transaction.begin();
          ???session.save(user);
          ???transaction.commit();

          ??} catch (Exception e) {
          ???e.printStackTrace();
          ??}


          ?? }
          }

          posted @ 2009-10-12 17:56 IT追求者 閱讀(1423) | 評(píng)論 (2)編輯 收藏

          2009年7月16日 #

          struts logic標(biāo)簽使用詳解

          Logic 比較標(biāo)簽(一)

          1.<logic:equal>

          判斷變量是否與指定的常量相等。例如:

          ???? <%

          ?????? pageContext.setAttribute("test",new Integer(100));

          ???? %>

          ???? <logic:equal value="100" name="test">

          ???????? test=100???? </logic:equal>

          2.<logic:greaterThan>

          判斷常量變量是否與指定的常量不相等。

          <html:link page="/greaterThan.jsp?test=123456">添加參數(shù)</html:link> //傳值

          <logic:greaterThan value="12347" parameter="test">

          ?????? true

          </logic:greaterThan>

          下面類似

          3.<logic:greaterEqual>

          判斷變量大小是否等于指定的常量。

          4.<logic:lessThan>

          判斷變量是否小于指定的常量。

          5.<logic:lessEqual>

          判斷變量是否小于等于指定的常量。

          Struts logic標(biāo)簽(二)

          循環(huán)遍歷標(biāo)簽<logic:iterate>

          該標(biāo)簽用于在頁面中創(chuàng)建一個(gè)循環(huán),以次來遍歷數(shù)組、Collection、Map這樣的對(duì)象。在Struts中經(jīng)常用到!

          例如:

          <%

          String []testArray={"str0","str1","str2","str3","str4","str5"};

          pageContext.setAttribute("test",testArray);

          %>

          <logic:iterate id="array" name="test">

          ??????? <bean:write name="array"/>

          </logic:iterate>

          首先定義了一個(gè)字符串?dāng)?shù)組,并為其初始化。接著,將該數(shù)組存入pageContext對(duì)象中,命名為test1。然后使用logic:iterate標(biāo)記的name屬性指定了該數(shù)組,并使用id來引用它,同時(shí)使用bean;write標(biāo)記來將其顯示出來。

          還可以通過length屬性指定輸出元素的個(gè)數(shù),offset屬性指定從第幾個(gè)元素開始輸出。例如:

          <logic:iterate id="array1" name="test1" length="3" offset="2">

          <bean:write name="array1"/><br>

          </logic:iterate>

          Struts logic標(biāo)簽(三)

          <logic:match>

          <logic:notmatch>

          該標(biāo)簽用于判斷變量中是否或者是否不包含指定的常量字符串。例如:

          <%

          ??????? pageContext.setAttribute("test","helloWord");

          %>

          <logic:match value="hello" name="test">

          ?????? hello 在helloWord中

          </logic:match>

          Match標(biāo)記還有一個(gè)重要屬性,就是location屬性。location屬性所能取的值只有兩個(gè),一個(gè)是"start",另一個(gè)是"end"。例如:

          <logic:match value="hello" name="test" location="start">

          ????????? helloWord以 hello開頭

          </logic:match>

          Struts logic存在標(biāo)簽(四)

          <logic:present>

          <logic:notpresent>

          <logic:messagePresent>

          <logic:messageNotPresent>

          <logic:present>和<logic:notpresent>標(biāo)簽主要用于判斷所指定的對(duì)象是否存在;

          例如:

          <%

          pageContext.setAttribute("test","testString");

          %>

          <logic:present name="test">

          ??????? true??

          </logic:present>

          <logic:present>和<logic:notpresent>標(biāo)記有以下幾個(gè)常用屬性:

          header屬性:???? 判斷是否存在header屬性所指定的header信息。

          parameter屬性:判斷是否存在parameter屬性指定的請(qǐng)求參數(shù)。

          cookie屬性:???? 判斷cookie屬性所指定的同名cookie對(duì)象是否存在。

          name屬性:?????? 判斷name屬性所指定的變量是否存在。

          property屬性:和name屬性同時(shí)使用,當(dāng)name屬性所指定的變量是一個(gè)JavaBean時(shí),判斷property屬性所指定的對(duì)象屬性是否存在。

          <%

          ?????? Cookie cookie=new Cookie("name","value");

          ?????? response.addCookie(cookie);

          %>

          <logic:present cookie="name">

          ??????? true

          </logic:present>

          <logic:messagePresent>和<logic:messageNotPresent>這兩個(gè)標(biāo)記是來判斷是否在request內(nèi)存在特定的ActionMessages或ActionErrors對(duì)象。它們有幾個(gè)常用的屬性:

          name屬性:???? 指定了ActionMessages在request對(duì)象內(nèi)存儲(chǔ)時(shí)的key值。

          message屬性:message屬性有兩種取值。當(dāng)其為true時(shí),表示使用Globals.MESSAGE_KEY做為從request對(duì)象中獲取ActionMessages的key值,此時(shí)無論name指定什么都無效;當(dāng)其為false時(shí),則表示需要根據(jù)name屬性所指定的值做為從request對(duì)象中獲取ActionMessages的key

          值,倘若此時(shí)未設(shè)置name屬性的值,則使用默認(rèn)的Globals.ERROR_KEY。

          property屬性:指定ActionMessages對(duì)象中某條特定消息的key值。

          例如:

          ????? <%

          ???????? ActionErrors errors = new ActionErrors();

          ???????? errors.add("totallylost", new ActionMessage("application.totally.lost"));

          ???????? request.setAttribute(Globals.ERROR_KEY, errors);

          ???????? request.setAttribute("myerrors", errors);

          ????? %>

          ???????? <logic:messagesPresent name="myerrors">

          ?????????? Yes

          ???????? </logic:messagesPresent>

          Struts logic判空標(biāo)簽(五)

          <logic:empty>

          <logic:notEmpty>

          該標(biāo)簽用于判斷指定的字符是否為空。

          例如:

          ????? <%

          ??????? pageContext.setAttribute("test","");

          ????? %>

          ??

          ???? <logic:empty name="test">

          ???????? test 為空

          ???? </logic:empty>

          Struts logic轉(zhuǎn)發(fā)和重定向標(biāo)簽(六)

          1.<logic:foward>轉(zhuǎn)發(fā)標(biāo)簽

          該標(biāo)簽用于進(jìn)行全局轉(zhuǎn)發(fā),使用該標(biāo)簽的頁面一般不再編寫其他內(nèi)容,因?yàn)殡S著轉(zhuǎn)發(fā),頁面將跳轉(zhuǎn),原頁面中的內(nèi)容也沒有意義了。例如:

          ????? this is a test

          <logic:forward name="welcome"/>

          ???? this is a new test

          2.<logic:redirect>重定向標(biāo)簽

          該標(biāo)簽用于進(jìn)行重定向。具有屬性:

          href屬性:???? 將頁面重定向到href指定的完整外部鏈接。

          page屬性:???? 該屬性指定一個(gè)本應(yīng)用內(nèi)的一個(gè)網(wǎng)頁,標(biāo)記將頁面重定向到這個(gè)新的網(wǎng)頁。

          forward屬性:該屬性與struts-config.xml中的<global-forward>內(nèi)的子項(xiàng)相對(duì)應(yīng)。即將頁面重定向到forward所指定的資源。

          posted @ 2009-07-16 23:51 IT追求者 閱讀(520) | 評(píng)論 (0)編輯 收藏

          struts bean標(biāo)簽使用詳解

          Bean 標(biāo)簽庫
          ??????? 此標(biāo)簽庫和Java Bean有很強(qiáng)的關(guān)聯(lián)性,設(shè)計(jì)的本意是要在JSP 和JavaBean 之間提供一個(gè)接口。Struts 提供了一套小巧有用的標(biāo)簽庫來操縱JavaBean和相關(guān)的對(duì)象:cookie、 header、 parameter、 define、write、message、 include、page、resource、size、struts。
          -------------------------------
          -------------------------------
          bean:cookie、bean:header、bean:parameter
          這三個(gè)標(biāo)簽用來重新得到cookie, request header和request parameter。
          bean:header和bean:parameter標(biāo)簽定義了一個(gè)字符串;bean:cookie標(biāo)簽定義了一個(gè)Cookie對(duì)象。你可以使用value屬性做為默認(rèn)值。如果找不到指定的值,且默認(rèn)值沒有設(shè)定的話,會(huì)拋出一個(gè)request time異常。如果你期望返回多個(gè)值的話,可把multiple屬性設(shè)為true。
          <bean:cookie id="sessionID" name="JSESSIONID" value="JSESSIONID-ISUNDEFINED"/>
          // 這段代碼定義了一個(gè)名為sessionID的腳本變量,如果找不到一個(gè)名為JSESSIONID的cookie,那sessionID


          下面代碼會(huì)輸出一些Cookie對(duì)象的一些屬性:
          <jsp:getProperty name="sessionID " property="comment"/> …
          <jsp:getProperty name="sessionID" property="domain"/> …
          <jsp:getProperty name="sessionID" property="maxAge"/> …
          <jsp:getProperty name="sessionID" property="path"/> …
          <jsp:getProperty name="sessionID" property="value"/> …
          <jsp:getProperty name="sessionID" property="version"/> …

          下面是在request中輸出所有header的例子:
          <%
          ????????? java.util.Enumeration names =((HttpServletRequest) request).getHeaderNames();
          %>

          <%
          ????????? while (names.hasMoreElements()) {
          ????????? String name = (String) names.nextElement();
          %>
          <bean:header id="head" name="<%= name %>"/>
          … <%= name %>
          … <%= head %>

          <%
          ????????? }
          %>

          下面是parameter的例子:
          <bean:parameter id="param1" name="param1"/>
          <bean:parameter id="param2" name="param2" multiple="true"/>??? // 此處定義了一個(gè)param2[]。
          <bean:parameter id="param3" name="param3" value="UNKNOWN VALUE"/>

          于其它標(biāo)簽結(jié)合使用:
          <bean:header id="browser" name="User-Agent"/>
          <P>You are viewing this page with: <bean:write name="browser"/></P>
          ----------------------------------------------------------------------------------------------------------------------------------
          <bean:cookie id="username" name="UserName" scope="session"
          value="New User" />
          <P>Welcome <bean:write name="username" property="value"/!</P>
          ??? // 根據(jù)cookie創(chuàng)建一個(gè)新的Bean,如果用戶名稱已經(jīng)存儲(chǔ)在cookie中,它就不顯示為一個(gè)新用戶。
          -------------------------------
          -------------------------------
          bean:define:有三個(gè)用途。
          一是定義新字符串常量:
          <bean:define id="foo" value="This is a new String"/>
          <bean:define id="bar" value='<%= "Hello, " + user.getName() %>'/>
          <bean:define id="last" scope="session" value='<%= request.getRequestURI() %>'/>
          二是復(fù)制一個(gè)現(xiàn)有的bean給新的bean:
          <bean:define id="foo" name="bar"/>???
          <bean:define id="baz" name="bop" type="com.mycompany.MyClass"/>??? //定義腳本變量的類型,默認(rèn)為Object???
          三是復(fù)制一個(gè)現(xiàn)有的bean的屬性給新的bean:
          <bean:define id="bop" name="user" property="role[3].name"/>
          ??? <bean:define id="foo" name="bar" property="baz" scope="request"??? toScope="session"/>
          ??? //toScope屬性指新bean的scope,默認(rèn)為page??
          上段代碼的意思是把名為bar的bean的baz屬性賦值給foo,foo的類型為String(默認(rèn))。
          -------------------------------
          -------------------------------
          bean:include
          這個(gè)標(biāo)簽和bean:include標(biāo)簽和相似,不同點(diǎn)就是它定義了一個(gè)可以復(fù)用的腳本變量。用id屬性命名一個(gè)新的腳本變量,還支持forward、href、page和transaction.屬性,和html:link中的屬性意義一樣。
          <bean:include id="footerSpacer"??? page="/long/path/footerSpacer.jsp"/>
          然后你能夠在多個(gè)地方(scope為page)調(diào)用:
          <bean:write name="footerSpacer" />

          -------------------------------
          -------------------------------
          bean:message
          用來實(shí)現(xiàn)對(duì)國(guó)際化的支持的一個(gè)標(biāo)簽,配合java.util數(shù)據(jù)包中定義的Locale和ResourceBundle類來完成這個(gè)任務(wù),用java.text.MessageFormat類配置消息的格式。
          ??? 首先要指定資源文件的名稱。這個(gè)文件會(huì)包含用默認(rèn)語言編寫的在程序中會(huì)出現(xiàn)的所有消息,這些消息以“關(guān)鍵字-值”的形式存儲(chǔ)。文件需要存儲(chǔ)在類路徑下,路徑要作為初始化參數(shù)傳送給ActionServlet。
          ??? 實(shí)現(xiàn)國(guó)際化的規(guī)定:所有的資源文件必須都存儲(chǔ)在基本資源文件所在的目錄中。基本資源文件包含的是用默認(rèn)地區(qū)語言-本地語言編寫的消息。如果基本資源文件的名稱是ApplicationResources.properties,那么用其他特定語言編寫的資源文件的名稱就應(yīng)該是ApplicationResources_xx.properties(xx為ISO編碼,如英語是en)。因此這些文件應(yīng)包含相同的關(guān)鍵字,但關(guān)鍵字的值是用特定語言編寫的。
          ??? 然后,ActionServlet的區(qū)域初始化參數(shù)必須與一個(gè)true值一起傳送,這樣ActionServlet就會(huì)在用戶會(huì)話中的Action.LOCALE_KEY關(guān)鍵字下存儲(chǔ)一個(gè)特定用戶計(jì)算機(jī)的區(qū)域?qū)ο蟆,F(xiàn)在可以運(yùn)行一個(gè)國(guó)際化的web站點(diǎn),它可以根據(jù)用戶計(jì)算機(jī)上的設(shè)置的區(qū)域自動(dòng)以相應(yīng)的語言顯示。

          使用特定的字符串來替換部分消息:
          在資源文件中的定義:info.myKey = The numbers entered are {0},{1},{2},{3}
          標(biāo)記的使用:<bean:message key="info.myKey" arg0="5" arg1="6" arg2="7" arg3="8"/>
          Jsp頁面的顯示:The numbers entered are 5,6,7,8??? // 最多支持4個(gè)參數(shù)
          -------------------------------

          -------------------------------
          ?? bean:page:把Jsp中的內(nèi)部對(duì)象做為腳本變量。
          <bean:page id="requestObj" property="request"/>
          -------------------------------
          -------------------------------
          bean:resource:獲得應(yīng)用程序的資源,這個(gè)資源可以是一個(gè)String或從java.io.InputStream中讀入。使用ServletContext.getResource()ServletContext.getResourceAsStream() 方法檢索web應(yīng)用中的資源,如果在檢索資源時(shí)發(fā)生問題,就會(huì)產(chǎn)生一個(gè)ruquest time異常。
          <bean:resource id="webxml" name="/WEB-INF/web.xml"/>
          使用input屬性時(shí),資源會(huì)做為一個(gè)InputStream,如果不指定就被當(dāng)成一個(gè)String。

          -------------------------------
          -------------------------------
          bean:size:得到存儲(chǔ)在array、collection或map中的數(shù)目,類型為java.lang.Integer。
          <bean:size id="count" name="employees" />
          -------------------------------
          -------------------------------
          bean:struts:復(fù)制Struct 對(duì)象(三種類型)給新的bean,scope為page。
          <bean:struts id="form" formBean="CustomerForm"/>???
          <bean:struts id="fwd" forward="success"/>
          <bean:struts id="map" mapping="/saveCustomer"/>
          -------------------------------
          -------------------------------
          bean:write:以字符串形式輸出bean的屬性值。
          filter屬性:設(shè)為true時(shí),將HTML保留字轉(zhuǎn)換為實(shí)體("<" 轉(zhuǎn)換為 &lt);
          ignore屬性:如果對(duì)象不存在,不會(huì)拋出異常。
          <bean:write name="userRegistration" property="email" scope="request"/>

          posted @ 2009-07-16 23:13 IT追求者 閱讀(514) | 評(píng)論 (0)編輯 收藏

          struts Html標(biāo)簽使用詳解

          1.html:form 標(biāo)簽
                 該標(biāo)簽的用法必須遵循很多規(guī)則.
                  (1)首先標(biāo)簽中必須包含一個(gè)action屬性,action屬性是該標(biāo)簽唯一一個(gè)必須的屬性.如果沒有該屬性jsp會(huì)拋出一個(gè)異常,     之后你必須給
          action屬性一個(gè)有效的值,這個(gè)值也就是對(duì)應(yīng)struts配置文件(struts-config.xml)中的action標(biāo)簽中的type屬性值.
                    例如:jsp頁面中有:<html:form action="/login">
                             則struts-config.xml文件中:
                                                                            <action-mapping>
                                                                                  <action type="/login"
                                                                                                type="對(duì)應(yīng)事件處理類的路徑"
                                                                                                name="對(duì)應(yīng)的formbean"
                                                                                                 />
                                                                              </action-mapping>
                 (2)html:form標(biāo)簽還必須遵循一個(gè)規(guī)則:
                                      任何包含在<form>中用來接收用戶輸入的標(biāo)簽(<text>、<password>、<hidden>、<textarea>、<radio>、<checkbox>、<select>
          )必須在相關(guān)的form bean中有一個(gè)指定的屬性值.例如,如果你有一個(gè)屬性值被指定為“username”的<text>標(biāo)簽,那么相關(guān)的form bean中也
          必須有一個(gè)名為“username”的屬性。輸入<text>標(biāo)簽中的值會(huì)被用于生成form bean的userName屬性。

          2.html:text標(biāo)簽
                    html:text標(biāo)簽是一個(gè)生成文本框的標(biāo)簽,它必須包含一個(gè)和form bean的相同屬性的對(duì)應(yīng)的"property"屬性.該標(biāo)簽只有嵌套在form中才有效.


          3.html:password標(biāo)簽

                  html:password標(biāo)簽是用來顯示口令的文本框,它也必須包含一個(gè)和form bean的相同屬性對(duì)應(yīng)的"property"屬性,該標(biāo)簽中的
                   一個(gè)很重要的屬性是“redisplay”,它用于重新顯示以前輸入到這個(gè)區(qū)域中的值。該屬性的缺省值為true。然而,為了
                 使password不能被重新顯示,你或許希望將該屬性的值設(shè)為false。
                  例如:<html:password property="password"/>


          4.html:hadden標(biāo)簽
                    html:hadden是生成一個(gè)隱藏的輸入文本區(qū)域,它必須包含和相關(guān)form bean中的相同屬性對(duì)應(yīng)的“property”屬性。該標(biāo)簽也必須嵌套在form中才有效.
                    例如:<html:hadden property="value"/>


          5.<html:textarea>標(biāo)簽 
                  <html:textarea>標(biāo)簽主要是生成一個(gè)文本域,它必須包含和相關(guān)form bean中相同屬性對(duì)應(yīng)的"property"屬性.該標(biāo)簽也必須嵌套在form中才有效.
                  例如:<html:textarea property="content"
                                                    cols="10"
                                                    rows="5"/>

          6.<html:radio>標(biāo)簽

                      <html:radio>標(biāo)簽是用于顯示一個(gè)單選按鈕.它必須包含"value"值
                     例如:<html:radio property="title" value="1"/>1
                               <html:radio property="title" value="2"/>2
                               <html:radio property="title" value="3"/>3



          7.<html:checkbox>標(biāo)簽


                  <html:checkbox>標(biāo)簽用于顯示checkbox類型的輸入?yún)^(qū)域。比如: <html:checkbox property= 
             "notify">Please send me notification 


          8.<html:submit>標(biāo)簽

                      <html:submit>標(biāo)簽是用于提交按鈕.
                      例如:<html:submit value="提交"/>



          9.<html:reset>標(biāo)簽

                      <html:reset>標(biāo)簽主要是用于重置按鈕


          10.<html:option>標(biāo)簽

                         <option>標(biāo)簽用于顯示select box中的一個(gè)選項(xiàng)。參照下面的<select>標(biāo)簽。 


          11.<html:select>標(biāo)簽

                          <html:select>標(biāo)簽主要是用于顯示下拉列表,它也必須嵌套在form中才有效
                          例如:
                                  <html:select  property="color" size="3">
                                                <html:option  value="red">red</html:option>
                                                <html:option value="green">green</html:option>
                                                 <html:option value="blue">blue</html:option>

           




                     



                      








           

          posted @ 2009-07-16 22:00 IT追求者 閱讀(1630) | 評(píng)論 (0)編輯 收藏

          2009年7月7日 #

          Ado.net中Connection對(duì)象用法

          在ADO.NET對(duì)象模型中,Connection對(duì)象代表了與數(shù)據(jù)源之間的連接。.NET框架中有兩個(gè)Connection對(duì)象:一個(gè)是OleDbConnection,用于大多數(shù)的數(shù)據(jù)庫連接,一個(gè)是SqlConnection,是MS開發(fā)的專門用于針對(duì)SQL Server的連接。在創(chuàng)建Connection對(duì)象之前,你必須先引用System.Data.OleDb或者System.Data.SqlClient和System.Data三個(gè)名空

          1.Sqlserver 的數(shù)據(jù)庫連接
                  你可以使用Connection對(duì)象的屬性來指定數(shù)據(jù)源的位置及其它參數(shù)來連接數(shù)據(jù)庫。如:SqConnection conn=new SqlConnection("Provider=SQLOLEDB;Data Source=MyServer;Initial Catalog=database;use id=youuserName,password=yourpassword;");
                  

                  這是連接到本地?cái)?shù)據(jù)庫,如果你想連到網(wǎng)絡(luò)上的的數(shù)據(jù)庫,就要利用集成安全性,同時(shí)忽略用戶名和密碼。如:SqConnection con=new SqlConnection("Provider=SQLOLEDB;Data Source=MyServer;Initial Catalog=database;Integrated Security=SSPI");

           

          2.Oracle數(shù)據(jù)庫的連接:(前提:必須先安裝Oracle客戶端實(shí)用工具的適當(dāng)版本,并創(chuàng)建數(shù)據(jù)庫別名,接著就可以用以下的連接字符串進(jìn)行連接)

          SqConnection con=new SqlConnection("Provider=MSDAORA;Data Source=dbAlias;User id=yourid,password=youpwd;);

          3.Access數(shù)據(jù)庫的連接:(你可以使用以下連接字符串來連接)

          SqConnection con=new SqlConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\yourdb.mdb;User id=yourid,password=youpwd;);

          連接到數(shù)據(jù)庫之后即可調(diào)用Connection對(duì)象的Open()方法來打開與數(shù)據(jù)庫的連接,同理Close()方法用來關(guān)閉與數(shù)據(jù)庫的連接。

          連接池:

                連接池是什么?在一個(gè)三層結(jié)構(gòu)中,當(dāng)一個(gè)客戶端與中間層服務(wù)器進(jìn)行通訊的時(shí)候,服務(wù)器會(huì)創(chuàng)建一個(gè)與數(shù)據(jù)庫連接,并執(zhí)行操作的業(yè)務(wù)對(duì)象(也就是與數(shù)據(jù)庫連接的實(shí)例),同時(shí)會(huì)創(chuàng)建一個(gè)Connection對(duì)象,在放在一個(gè)池中(實(shí)際上是一個(gè)線程)。當(dāng)釋放這個(gè)實(shí)例的時(shí)候,此實(shí)例便關(guān)閉,此時(shí)并沒有真正的關(guān)閉數(shù)據(jù)連接,而是將Connection對(duì)象標(biāo)記為關(guān)閉后存儲(chǔ)在池中。如果這時(shí)再來啟動(dòng)一個(gè)新的業(yè)務(wù)對(duì)象,這時(shí)就會(huì)檢查現(xiàn)有的連接,如果池中有打開的連接,即使用它,否則再創(chuàng)建一個(gè)新連接。

          可能你會(huì)覺得很奇怪,如果這樣,那池中不是有很多的對(duì)象,豈不是會(huì)浪費(fèi)很多的資源,這個(gè)問題的解決方案是你可以設(shè)置與數(shù)據(jù)庫的特定連接時(shí)間(默認(rèn)60秒),如果在這個(gè)時(shí)間內(nèi)未被使用,.NET提供就會(huì)關(guān)閉此連接。

                如何打開連接池?默認(rèn)情況下是打開的.

                如何關(guān)閉連接池?可以使用OleDbConnection.ReleaseConnectionPool()方法來關(guān)閉連接池,更或者你可以在OLE DB連接字符串中加上OLE DB Services= - 4;在用SqlConnection對(duì)象時(shí)可在連接符中加上Pooling=False。這時(shí)你再調(diào)用Close()時(shí)候便會(huì)真正地關(guān)閉與數(shù)據(jù)庫的連接。

          (注1:可以使用SQL事件探查器或性能監(jiān)視器來觀察連接到數(shù)據(jù)庫中的連接數(shù)目,以識(shí)別連接是否真正關(guān)閉或是只是放入池中。)

          (注2:可以顯式調(diào)用Dispose()方法在垃圾收集器回收之前釋放資源,但如果你只是將Connection對(duì)象設(shè)為NULL的話,是不會(huì)斷開與數(shù)據(jù)源的連接的)

                利用Connection對(duì)象來創(chuàng)建Command對(duì)象:(ADO.NET中用Command對(duì)象來執(zhí)行數(shù)據(jù)查詢,更新)例 :

          SqConnection con=new SqlConnection("Provider=SQLOLEDB;Data Source=MyServer;Initial Catalog=database;Integrated Security=SSPI");

          using (OleDbCommand cmd=con.CreateCommadn())

          {

                cmd.CommandText="select * from table";

                cmd.ExecuteNonQuery();

          }

          (注:此處使用using 的好處是在進(jìn)行此次操作后便可釋放資源。)

          利用Connection對(duì)象來創(chuàng)建Transaction對(duì)象:(Transaction對(duì)象是ADO.NET中的事務(wù)管理對(duì)象)

          例:

          SqConnection con=new SqlConnection("Provider=SQLOLEDB;Data Source=MyServer;Initial Catalog=database;Integrated Security=SSPI");

          con.Open();

          OleDbTransaction tran=con.BeginTransaction(); (注:調(diào)用此方法會(huì)在連接時(shí)返回一個(gè)新的打開的Transaction對(duì)象來進(jìn)行事務(wù)管理)

          (注:事務(wù)是指一組單一實(shí)體運(yùn)行的語句,可以確保數(shù)據(jù)的完整性,防止因系統(tǒng)故障或其它原因而引起的數(shù)據(jù)丟失。概念很抽象,呵呵,看下去就明白了)

          事務(wù)有ACID四個(gè)屬性(即原子性,一致性,隔離性,持久性):

          原子性指在執(zhí)行事務(wù)過程中,這個(gè)過程要么成功執(zhí)行,要么不執(zhí)行。

          一致性指事務(wù)前和事務(wù)后的數(shù)據(jù)的一致性,也就是如果事務(wù)成功執(zhí)行的話,系統(tǒng)就返回成功的狀態(tài),即所有數(shù)據(jù)的改變標(biāo)記為已完成,如沒完成事務(wù),即回滾,并回到先前的合法狀態(tài)。

          隔離性指一個(gè)事務(wù)內(nèi)的任何變化都獨(dú)立于其它的事務(wù)(相對(duì)于兩個(gè)事務(wù)的說法)

          持久性指事務(wù)是持續(xù)的,也就是事務(wù)成功完成后的改變是永久的。

          其他詳細(xì)使用可以參照MSDN

          posted @ 2009-07-07 22:42 IT追求者 閱讀(726) | 評(píng)論 (0)編輯 收藏

          誰是增值稅改革受益者 [轉(zhuǎn)]

          稅制改革有利于提高上市公司的經(jīng)營(yíng)業(yè)績(jī),影響幅度呈逐年上升趨勢(shì);固定資產(chǎn)比例較高企業(yè),受到影響的幅度越大;像寶鋼這樣的大型資本密集型企業(yè)將是消費(fèi)型增值稅制度改革的主要贏家。

          《中央完善社會(huì)主義市場(chǎng)經(jīng)濟(jì)體制的決定》(簡(jiǎn)稱《決定》)專門提出了改革現(xiàn)行增值稅制度的問題,《決定》指出:“增值稅由生產(chǎn)型改為消費(fèi)型”,這表明了政府高層決策者決心改革已經(jīng)試行十年之久的生產(chǎn)型增值稅制度。國(guó)家稅務(wù)總局的官員已經(jīng)宣布有關(guān)部門正在根據(jù)《決定》的精神起草我國(guó)的《消費(fèi)型增值稅條例》,這表明了我國(guó)的消費(fèi)型增值稅制度改革正在緊鑼密鼓地進(jìn)行。

          但誰是這場(chǎng)稅制改革的受益者?受益程度有多大?這些無疑是投資者非常關(guān)心的問題。

          對(duì)經(jīng)營(yíng)凈利潤(rùn)的影響

          在不同的增值稅制度下,企業(yè)固定資產(chǎn)的成本計(jì)價(jià)不一樣。

          我國(guó)目前實(shí)行的是生產(chǎn)型增值稅制度。根據(jù)《企業(yè)會(huì)計(jì)制度》的規(guī)定,固定資產(chǎn)在取得時(shí)應(yīng)按取得時(shí)的成本入賬,取得時(shí)的成本包括買價(jià)、增值稅費(fèi)用和其它有關(guān)費(fèi)用(包括運(yùn)輸費(fèi)用、非增值稅稅款、保險(xiǎn)等),用公式表示就是:固定資產(chǎn)成本=買價(jià)+增值稅+其它費(fèi)用。

          稅制改革后將實(shí)行的是消費(fèi)型增值稅制度。由于購進(jìn)固定資產(chǎn)的進(jìn)項(xiàng)增值稅可以抵扣,固定資產(chǎn)的取得成本中就不包含增值稅這一塊。顯然,消費(fèi)型增值稅制度框架下的固定資產(chǎn)(不動(dòng)產(chǎn)例外)成本,要低于生產(chǎn)型增值稅制度條件下的固定資產(chǎn)成本。

          到底低多少呢?我們以生產(chǎn)型增值稅制度下的設(shè)備類固定資產(chǎn)成本為比較基準(zhǔn),假設(shè)所購設(shè)備執(zhí)行基本稅率17%,消費(fèi)型增值稅制度下固定資產(chǎn)成本的降低幅度為:17%/(1+17%)=15.54%,也就是說,降低幅度在1/7到1/6之間。

          消費(fèi)型增值稅制度下設(shè)備類固定資產(chǎn)成本的降低幅度為15.54%,因此企業(yè)每期的設(shè)備折舊也相應(yīng)降低15.54%。從前面的固定資產(chǎn)折舊成本轉(zhuǎn)移過程來看,設(shè)備折舊的降低導(dǎo)致公司當(dāng)期主營(yíng)業(yè)務(wù)成本的降低,從而提高當(dāng)期的主營(yíng)業(yè)務(wù)利潤(rùn)。由于稅制改革并不提高公司的經(jīng)營(yíng)成本(如營(yíng)銷成本、管理成本、資金成本)和其他業(yè)務(wù)經(jīng)營(yíng),公司當(dāng)期的營(yíng)業(yè)利潤(rùn)也相應(yīng)提高并最終提高公司的經(jīng)營(yíng)凈利潤(rùn)。

          根據(jù)現(xiàn)行《企業(yè)所得稅暫行條例》的規(guī)定,因折舊成本降低而導(dǎo)致的企業(yè)利潤(rùn)增量也需要繳納企業(yè)所得稅,現(xiàn)行企業(yè)所得稅稅率為33%,公司每期因設(shè)備折舊降低而增加的凈利潤(rùn)相當(dāng)于現(xiàn)行會(huì)計(jì)期內(nèi)公司設(shè)備折舊額的幅度為:15.54%×(1-33%)=10.41%。

          由于企業(yè)的凈利潤(rùn)受多種因素的影響,稅制改革對(duì)公司凈利潤(rùn)的影響幅度沒有一個(gè)確定的比例,后面的案例研究能夠提供一種計(jì)算方法并能給出鋼鐵行業(yè)的受益幅度。

          對(duì)經(jīng)營(yíng)活動(dòng)現(xiàn)金凈流量的影響

          在現(xiàn)行的生產(chǎn)型增值稅制度下,公司購買固定資產(chǎn)的進(jìn)項(xiàng)增值稅不能抵扣,會(huì)計(jì)上計(jì)入固定資產(chǎn)成本,在現(xiàn)金流量表上體現(xiàn)為公司投資活動(dòng)的現(xiàn)金流出。

          在消費(fèi)型增值稅制度下購買固定資產(chǎn)的進(jìn)項(xiàng)增值稅可以抵扣,企業(yè)將比在現(xiàn)行生產(chǎn)型增值稅制度下少流出現(xiàn)金,相對(duì)來說就是公司現(xiàn)金流量在現(xiàn)有基礎(chǔ)上的增加。

          消費(fèi)型增值稅制度下固定資產(chǎn)進(jìn)項(xiàng)增值稅的抵扣可以有兩種方式:一種是在購進(jìn)當(dāng)期一次性抵扣,另一種是在增值稅條例規(guī)定的年限內(nèi)分期抵扣。

          從消費(fèi)型增值稅制度的基本意義來看,固定資產(chǎn)進(jìn)項(xiàng)增值稅應(yīng)當(dāng)在購買當(dāng)期一次性抵扣,這種一次性抵扣方式對(duì)公司最有利,但是企業(yè)固定資產(chǎn)的購置往往是少批次大金額,采取一次性抵扣會(huì)引起增值稅收入的較大波動(dòng),而增值稅是目前最大的一個(gè)稅種,對(duì)政府財(cái)政的穩(wěn)定性不利,因此未來的消費(fèi)型增值稅制度的實(shí)施細(xì)則很可能會(huì)采取一種變通的做法,要求企業(yè)在一定的年限內(nèi)分期抵扣。從現(xiàn)金流的折現(xiàn)價(jià)值角度來看,分期抵扣方式不如一次性抵扣對(duì)企業(yè)有利。

          從保守起見,假設(shè)新的消費(fèi)型增值稅制度采取在設(shè)備的預(yù)計(jì)使用期限(即折舊年限)內(nèi)分期抵扣進(jìn)項(xiàng)增值稅的抵扣方法。以生產(chǎn)型增值稅制度下公司現(xiàn)金流量為比較基礎(chǔ),消費(fèi)型增值稅制度下每期可以抵扣的進(jìn)項(xiàng)增值稅金額就等于當(dāng)期的現(xiàn)金流量增量,即公司每期因設(shè)備折舊降低而增加的現(xiàn)金流量相當(dāng)于現(xiàn)行會(huì)計(jì)期內(nèi)公司折舊額的15.54%。

          關(guān)注受益板塊

          在我國(guó)1300多家上市公司中,并不是所有的企業(yè)都會(huì)受益于本次稅制改革。《上市公司行業(yè)分類指引》把上市公司分成13個(gè)門類,具體為:農(nóng)牧業(yè)30家、采掘業(yè)20家、制造業(yè)739家、電煤水業(yè)51家、建筑業(yè)23家、交通倉儲(chǔ)業(yè)55家、信息技術(shù)業(yè)76家、貿(mào)易業(yè)96家、金融保險(xiǎn)業(yè)10家、房地產(chǎn)業(yè)45家、社會(huì)服務(wù)業(yè)41家、傳播文化業(yè)11家、綜合類81家。按照我國(guó)現(xiàn)行的稅制體系,除建筑業(yè)、交通倉儲(chǔ)業(yè)、金融保險(xiǎn)業(yè)、房地產(chǎn)業(yè)、社會(huì)服務(wù)業(yè)、傳播文化業(yè)及綜合類等266家公司征收營(yíng)業(yè)稅而不征收增值稅外,其他1012家上市公司都要征收增值稅,占上市公司總數(shù)的79.19%,也就是說,將有大約80%的上市公司收益于消費(fèi)型增值稅制度改革。

          從全國(guó)來看,已有1300多家上市公司,投資者可重點(diǎn)關(guān)注下列行業(yè)的資本密集型企業(yè):(1)石化行業(yè),如中國(guó)石化(600028)、齊魯石化(600002)等;(2)冶金行業(yè),如寶鋼股份(600019)、馬鋼股份(600808)等;(3)電力行業(yè),如長(zhǎng)江電力(600900)、上海電力(600021)等;(4)汽車行業(yè),如一汽轎車(000800)、上海汽車(600104)等;(5)機(jī)械行業(yè),如中集集團(tuán)(000039)、廈工股份(600815)等。

          東北板塊誰最受益

          東北工業(yè)曾為共和國(guó)的經(jīng)濟(jì)建設(shè)立下了汗馬功勞,現(xiàn)在中央提出了“振興東北老工業(yè)基地”的戰(zhàn)略部署,國(guó)家有關(guān)部門已經(jīng)決定在我國(guó)東北地區(qū)率先進(jìn)行消費(fèi)型增值稅制度改革的試點(diǎn)工作,東北企業(yè)將會(huì)最早享受到稅制改革的好處。

          在東北地區(qū)的120多家上市公司中,下列上市公司將會(huì)更多地享受到改革帶來的利益:(1)石化行業(yè),如錦州石化(000763);(2)冶金行業(yè),如鞍鋼新軋(000898);(3)電力行業(yè),如龍電股份(600726);(4)汽車行業(yè),如一汽轎車(000800);(5)機(jī)械行業(yè),如沈陽機(jī)床(000410)。

          按照前面的案例研究思路,以2002年度作為比較基準(zhǔn)期,我們同樣可以估算出消費(fèi)型增值稅制度改革對(duì)上述五家公司經(jīng)營(yíng)業(yè)績(jī)的影響幅度。

          消費(fèi)型增值稅制度改革在其他條件不變的前提下能夠提升上市公司的經(jīng)營(yíng)業(yè)績(jī),但提升的幅度不一樣。進(jìn)一步的分析表明,資本物品進(jìn)項(xiàng)增值稅的抵扣數(shù)量是一個(gè)絕對(duì)值,比較基數(shù)越小,影響幅度就越大,因此稅制改革其對(duì)基期經(jīng)營(yíng)業(yè)績(jī)較差的上市公司的經(jīng)營(yíng)業(yè)績(jī)影響幅度較大,如錦州石化和沈陽機(jī)床。

          案例分析

          寶鋼股份影響程度剖析

          由于兩種增值稅制度的交替,從企業(yè)固定資產(chǎn)成本的增值稅構(gòu)成角度可以把企業(yè)的固定資產(chǎn)分成兩種類型,一類是生產(chǎn)型增值稅制度下購置的固定資產(chǎn),固定資產(chǎn)購進(jìn)增值稅不能抵扣;另一類是在消費(fèi)型增值稅制度下新購置的固定資產(chǎn),其進(jìn)項(xiàng)增值稅可以抵扣。稅制改革只對(duì)新購置的固定資產(chǎn)產(chǎn)生影響。

          本文選取寶鋼股份(600019)作為案例來測(cè)算消費(fèi)型增值稅制度改革對(duì)公司經(jīng)營(yíng)業(yè)績(jī)的影響。為了研究的方便,以現(xiàn)行生產(chǎn)型增值稅制度下的經(jīng)營(yíng)業(yè)績(jī)作為比較基礎(chǔ),并選取2002年度報(bào)告的數(shù)據(jù)作為樣本,測(cè)算該公司將在簡(jiǎn)單再生產(chǎn)(即經(jīng)營(yíng)規(guī)模不變)條件下的經(jīng)營(yíng)業(yè)績(jī)?cè)鲩L(zhǎng)趨勢(shì)。實(shí)際上,寶鋼股份是在擴(kuò)大再生產(chǎn)條件下經(jīng)營(yíng)的,因此其實(shí)際經(jīng)營(yíng)業(yè)績(jī)?cè)鲩L(zhǎng)速度肯定要高于測(cè)算出的增長(zhǎng)速度。

          在簡(jiǎn)單再生產(chǎn)條件下,公司一年的固定資產(chǎn)投資規(guī)模等于當(dāng)年的固定資產(chǎn)折舊金額,即寶鋼股份每年的固定資產(chǎn)投資規(guī)模為538,230.40萬元。由于不動(dòng)產(chǎn)投資不涉及進(jìn)項(xiàng)增值稅,所以只考慮設(shè)備投資,寶鋼股份一年新增設(shè)備投資規(guī)模為472,336.04萬元,新增設(shè)備的進(jìn)項(xiàng)增值稅含量為:472,336.04/(1+17%)×17% = 68,630.02萬元。

          目前寶鋼股份的設(shè)備綜合折舊年限約為12年,則其新增設(shè)備的綜合折舊年限亦可視為12年,新增設(shè)備的增值稅含量也將在12年內(nèi)被折舊攤銷,折舊攤銷中的增值稅含量為68,630.02/12 = 5,719.17萬元。

          對(duì)經(jīng)營(yíng)凈利潤(rùn)的影響幅度

          在消費(fèi)型增值稅制度下,由于企業(yè)的各項(xiàng)經(jīng)營(yíng)成本(如管理費(fèi)用、營(yíng)業(yè)費(fèi)用、財(cái)務(wù)費(fèi)用等)并不因增值稅制度的改變而變化,一年的所得稅稅前利潤(rùn)增量在數(shù)量上等于新增設(shè)備折舊中的增值稅含量,即利潤(rùn)增量 = 5,719.17萬元。

          由于企業(yè)所得稅制度沒有改變,因增值稅制度改變而增加的利潤(rùn)仍然需要繳納所得稅,則一年的經(jīng)營(yíng)凈利潤(rùn)增量 = 5,719.17×(1-33%)= 3,831.84萬元。

          由于公司每年都在進(jìn)行設(shè)備再投資,在新的稅制條件下,公司每年的經(jīng)營(yíng)凈利潤(rùn)增量隨著時(shí)間的推移逐年遞增,設(shè)第n年的凈利潤(rùn)增量為Y(n),則:Y(n)= 3,831.84×n萬元。由于設(shè)備綜合折舊年限為12年,則n的最大值等于12。公司2002年度的凈利潤(rùn)為427,193.24萬元,設(shè)第n年的凈利潤(rùn)增長(zhǎng)率為L(n),則:L(n) = Y(n)/427,193.24。

          對(duì)寶鋼股份經(jīng)營(yíng)活動(dòng)現(xiàn)金凈流量的影響

          從前面的折舊成本轉(zhuǎn)移過程分析可知,消費(fèi)型增值稅制度改革最終通過降低產(chǎn)品銷售成本來提高經(jīng)營(yíng)活動(dòng)現(xiàn)金凈流量,稅制的改革并不影響其他各項(xiàng)經(jīng)營(yíng)活動(dòng)的現(xiàn)金流出,因此一年的經(jīng)營(yíng)活動(dòng)現(xiàn)金流增量等于每年新增設(shè)備折舊中包含的進(jìn)項(xiàng)增值稅含量,即經(jīng)營(yíng)活動(dòng)現(xiàn)金流增量 = 5,719.17萬元。

          由于公司每年都在進(jìn)行設(shè)備再投資,在新的稅制條件下,公司經(jīng)營(yíng)活動(dòng)現(xiàn)金流的增量隨著時(shí)間的推移逐年遞增,設(shè)第n年的凈利潤(rùn)增量為M(n),則:M(n)= 5,719.17×n萬元。由于設(shè)備綜合折舊年限為12年,則n的最大值等于12。公司2002年度經(jīng)營(yíng)活動(dòng)現(xiàn)金凈流量為1,079,001.12萬元,設(shè)第n年的凈現(xiàn)金流增長(zhǎng)率為X(n),則:X(n) = M(n)/1,079,001.12。

          從上面的分析可以得出下列基本結(jié)論:

          (1)稅制改革有利于提高上市公司的經(jīng)營(yíng)業(yè)績(jī),影響幅度呈逐年上升趨勢(shì)。

          (2)固定資產(chǎn)比例較高企業(yè),受到影響的幅度越大。

          (3)像寶鋼這樣的大型資本密集型企業(yè)將是消費(fèi)型增值稅制度改革的主要贏家。

          鏈接

          由于來自美國(guó)等國(guó)家的競(jìng)爭(zhēng)對(duì)手并不征收增值稅,現(xiàn)有稅制打擊了我國(guó)資本密集型企業(yè)的市場(chǎng)競(jìng)爭(zhēng)力,在加入WTO融入國(guó)際經(jīng)濟(jì)大環(huán)境的條件下,生產(chǎn)型增值稅制度到了非改不可的時(shí)候了。

          增值稅計(jì)稅原理

          增值稅制度起源于1918年德國(guó)的隆西蒙斯和美國(guó)的亞當(dāng)斯的學(xué)說,但增值稅真正得到歐洲各國(guó)政府廣泛的重視是在二十世紀(jì)六十年代初。1962年,歐洲經(jīng)濟(jì)共同體的紐馬克委員會(huì)建議所有歐共體成員國(guó)都采用增值稅作為統(tǒng)一的產(chǎn)品銷售稅形式,但美國(guó)卻至今尚未推行這一稅種。

          增值稅是對(duì)商品生產(chǎn)和流通中各環(huán)節(jié)新增加價(jià)值(即增值額)進(jìn)行征稅,由于新增價(jià)值在商品流通過程中是一個(gè)難以準(zhǔn)確計(jì)算的數(shù)據(jù),因此實(shí)際操作中常采用一種抵扣計(jì)算法:納稅義務(wù)人根據(jù)產(chǎn)品銷售額按照規(guī)定的稅率計(jì)算銷項(xiàng)增值稅額,然后從中扣除購買原材料和/或資本品時(shí)已經(jīng)繳納的進(jìn)項(xiàng)增值稅額,計(jì)算公式為:應(yīng)納增值稅額=銷項(xiàng)增值稅額–進(jìn)項(xiàng)增值稅額。這種計(jì)算方法同樣體現(xiàn)了對(duì)產(chǎn)品銷售中的新增價(jià)值進(jìn)行征稅的原則。

          在實(shí)行增值稅的半個(gè)多世紀(jì)里,不同的國(guó)家根據(jù)其國(guó)情選擇具體的計(jì)稅制度,已經(jīng)形成了多種比較系統(tǒng)和成熟的計(jì)稅制度,但常用的增值稅計(jì)稅制度只有三種:第一種是生產(chǎn)型增值稅,廠商以其產(chǎn)品和勞務(wù)的銷售收入數(shù)額減去其當(dāng)期購入的用于生產(chǎn)的中間性產(chǎn)品和勞務(wù)支出的數(shù)額(廠房、機(jī)器、設(shè)備等資本品的折舊不予扣除)作為增值額,并據(jù)以課稅。第二種是消費(fèi)型增值稅,其計(jì)稅依據(jù)是在生產(chǎn)型增值稅的基礎(chǔ)上,再扣除同期購入的資本品價(jià)值得出應(yīng)稅增值額,即從廠商的產(chǎn)品銷售收入中除其當(dāng)期購入的所有中間性產(chǎn)品和勞務(wù)支出外,還要再扣除資本品支出。第三種是收入型增值稅,其計(jì)稅依據(jù)是廠商以其產(chǎn)品和應(yīng)稅勞務(wù)的銷售收入先減去用于生產(chǎn)該產(chǎn)品的中間性產(chǎn)品和勞務(wù)支出,再減去固定資產(chǎn)折舊后的余額作為增值額,并據(jù)以課稅。

          生產(chǎn)型和消費(fèi)型兩種計(jì)稅制度的區(qū)別是進(jìn)項(xiàng)增值稅的抵扣不一樣,生產(chǎn)型增值稅的進(jìn)項(xiàng)增值稅額是指納稅人當(dāng)期購進(jìn)用于產(chǎn)品生產(chǎn)的原材料或接受應(yīng)稅勞務(wù)所支付的增值稅額,消費(fèi)型增值稅的進(jìn)項(xiàng)增值稅額不僅包含納稅人購進(jìn)原材料或接受應(yīng)稅勞務(wù)所支付的增值稅額,還包括納稅人購進(jìn)固定資產(chǎn)等資本品所支付的增值稅額,兩種稅制的差異就在購進(jìn)資本品所支付的增值稅額的處理上。很顯然,對(duì)于同一個(gè)企業(yè),生產(chǎn)型增值稅的實(shí)際稅負(fù)要大于消費(fèi)型增值稅的稅負(fù),從生產(chǎn)型增值稅改變?yōu)橄M(fèi)型增值稅的稅制改革的本質(zhì)就是增值稅應(yīng)稅企業(yè)的稅務(wù)降低。

          我國(guó)的生產(chǎn)型增值稅制度

          我國(guó)從1979年開始增值稅試點(diǎn),1994年的稅制改革全面推行了增值稅,使之成為我國(guó)稅制結(jié)構(gòu)中占據(jù)第一位的主體稅種。1993年12月13日,國(guó)務(wù)院以第134號(hào)令發(fā)布的《中華人民共和國(guó)增值稅暫行條例》成為我國(guó)增值稅征收的基本規(guī)范,隨后(當(dāng)年12月25日)財(cái)政部以[93]第038號(hào)文發(fā)布的《中華人民共和國(guó)增值稅暫行條例實(shí)施細(xì)則》作為稅務(wù)部門征收增值稅的工作指南。

          根據(jù)《增值稅暫行條例》的規(guī)定,凡在中國(guó)境內(nèi)銷售貨物或者提供加工、修理修配、勞務(wù),以及進(jìn)口貨物的單位和個(gè)人,為增值稅的納稅義務(wù)人。我國(guó)增值稅征收采取了兩檔稅率,即17%的基本稅率和13%的低稅率。低稅率只適用于某些特定的貨物(如糧食、食用植物油、自來水、書報(bào)、農(nóng)藥等,詳見有關(guān)增值稅法規(guī))及國(guó)務(wù)院規(guī)定的貨物,其它貨物一律適用基本稅率。

          目前,我國(guó)增值稅的計(jì)算采用抵扣計(jì)算法:應(yīng)納增值稅額=當(dāng)期銷項(xiàng)增值稅額–當(dāng)期進(jìn)項(xiàng)增值稅額。其中,“當(dāng)期銷項(xiàng)增值稅額”是指納稅義務(wù)人在一定納稅期限內(nèi)銷售貨物(或應(yīng)稅勞務(wù))所收到的增值稅,它在數(shù)量上等于納稅期限內(nèi)的銷售收入乘以增值稅率。“當(dāng)期進(jìn)項(xiàng)增值稅”是指納稅義務(wù)人在同期采購原材料(或應(yīng)稅勞務(wù))時(shí)已經(jīng)支付的增值稅,它在數(shù)量上等于納稅期限內(nèi)的貨物買價(jià)乘以增值稅率。值得注意的是:現(xiàn)行《增值稅暫行條例》特別規(guī)定“購進(jìn)固定資產(chǎn)的進(jìn)項(xiàng)增值稅額不得從銷項(xiàng)增值稅額中抵扣”,并把“固定資產(chǎn)”嚴(yán)格限制為兩類資產(chǎn),一是使用期限超過1年的機(jī)器、機(jī)械、運(yùn)輸工具以及其它與生產(chǎn)經(jīng)營(yíng)有關(guān)的設(shè)備、工具、器具,二是單位價(jià)值在2000元以上并且使用年限超過2年的不屬于生產(chǎn)經(jīng)營(yíng)主要設(shè)備的物品。《增值稅暫行條例》規(guī)定的不得抵扣進(jìn)項(xiàng)稅額的購進(jìn)固定資產(chǎn)的范圍比現(xiàn)行《企業(yè)會(huì)計(jì)制度》規(guī)定的固定資產(chǎn)范圍要小一些,主要是不包括不動(dòng)產(chǎn)(如房屋、建筑物等),因?yàn)槲覈?guó)現(xiàn)行稅法體系規(guī)定不動(dòng)產(chǎn)銷售繳納營(yíng)業(yè)稅,不繳納增值稅,不動(dòng)產(chǎn)銷售沒有進(jìn)項(xiàng)增值稅可以抵扣。

          是否抵扣固定資產(chǎn)進(jìn)項(xiàng)增值稅是劃分生產(chǎn)型增值稅和消費(fèi)型增值稅的根本標(biāo)準(zhǔn)。由于現(xiàn)行《增值稅暫行條例》明確規(guī)定固定資產(chǎn)進(jìn)項(xiàng)增值稅不得抵扣,因此我國(guó)現(xiàn)行的增值稅制度是一種典型的生產(chǎn)型增值稅。

          改革生產(chǎn)型增值稅制度的原因

          現(xiàn)行生產(chǎn)型增值稅制度導(dǎo)致資本密集型應(yīng)稅企業(yè)的實(shí)際稅負(fù)很重。產(chǎn)品的銷售成本由三塊組成:原材料轉(zhuǎn)移成本、固定資產(chǎn)折舊轉(zhuǎn)移成本和生產(chǎn)工資成本,根據(jù)現(xiàn)行《增值稅暫行條例》規(guī)定的計(jì)算方法,產(chǎn)品銷售的增值額等于銷售收入(主營(yíng)業(yè)務(wù)收入)減去原材料轉(zhuǎn)移成本,也就是說產(chǎn)品的折舊成本和工資成本在這里作為企業(yè)銷售產(chǎn)品的增值額而需要繳納增值稅。企業(yè)實(shí)際得到的毛利潤(rùn)等于產(chǎn)品的銷售收入減去產(chǎn)品銷售成本。很顯然,應(yīng)稅增值額大于企業(yè)的毛利潤(rùn)。折舊成本和工資成本的比例越大,其差異也越大,企業(yè)所得到的毛利潤(rùn)的實(shí)際稅負(fù)就越重。這種生產(chǎn)型增值稅制度導(dǎo)致資本密集型企業(yè)的毛利潤(rùn)承擔(dān)偏高的稅負(fù),資本密集度越高,毛利潤(rùn)的實(shí)際稅負(fù)越重。

          然而來自美國(guó)等國(guó)家的競(jìng)爭(zhēng)對(duì)手并不征收增值稅,因此這種稅制打擊了我國(guó)資本密集型企業(yè)的市場(chǎng)競(jìng)爭(zhēng)力,在加入WTO融入國(guó)際經(jīng)濟(jì)大環(huán)境的條件下,生產(chǎn)型增值稅制度到了非改不可的時(shí)候了。 (艾西南 尹中立)
          轉(zhuǎn)自:http://www.china.org.cn/chinese/OP-c/490416.htm

          posted @ 2009-07-07 22:21 IT追求者 閱讀(157) | 評(píng)論 (0)編輯 收藏

          僅列出標(biāo)題  
          主站蜘蛛池模板: 昭平县| 辽阳县| 海阳市| 黄骅市| 江安县| 彭阳县| 宿州市| 沅陵县| 开封市| 天峨县| 济南市| 温泉县| 贡觉县| 邹城市| 沂南县| 土默特左旗| 河池市| 榆树市| 那曲县| 武陟县| 鸡东县| 九寨沟县| 仙游县| 礼泉县| 西乌珠穆沁旗| 日喀则市| 沭阳县| 南阳市| 壤塘县| 托里县| 德安县| 合山市| 陵川县| 湘潭县| 苍溪县| 扎囊县| 云南省| 商水县| 浮梁县| 赤峰市| 永昌县|