亚洲熟妇丰满xxxxx,国产亚洲国产bv网站在线,亚洲男人的天堂网站http://www.tkk7.com/iamlibo/zh-cnFri, 09 May 2025 18:15:19 GMTFri, 09 May 2025 18:15:19 GMT60Spring 3.2 JPA2.0 XML 配置方式http://www.tkk7.com/iamlibo/archive/2013/12/19/407775.htmlLiboLiboThu, 19 Dec 2013 08:17:00 GMThttp://www.tkk7.com/iamlibo/archive/2013/12/19/407775.htmlhttp://www.tkk7.com/iamlibo/comments/407775.htmlhttp://www.tkk7.com/iamlibo/archive/2013/12/19/407775.html#Feedback0http://www.tkk7.com/iamlibo/comments/commentRss/407775.htmlhttp://www.tkk7.com/iamlibo/services/trackbacks/407775.html使用maven工程,pom.xml文件如下
<dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>3.2.4.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-orm</artifactId>
            <version>3.2.4.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.quartz-scheduler</groupId>
            <artifactId>quartz</artifactId>
            <version>1.8.5</version>
        </dependency>

        <dependency>
            <groupId>org.hibernate.javax.persistence</groupId>
            <artifactId>hibernate-jpa-2.0-api</artifactId>
            <version>1.0.1.Final</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>4.2.8.Final</version>
        </dependency>

        <!-- for JPA, use hibernate-entitymanager instead of hibernate-core -->
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>4.2.8.Final</version>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.27</version>
        </dependency>
       <!-- <dependency>
            <groupId>cglib</groupId>
            <artifactId>cglib</artifactId>
            <version>3.0</version>
        </dependency>
-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>3.2.4.RELEASE</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

dao接口如下:
package cn.test.dao;

/**
 * Created by libo on 13-12-19.
 
*/
public interface IDao {

    void save(Object entity);
}

dao實現類如下:
package cn.test.dao;

import org.springframework.stereotype.Component;

import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

/**
 * Created by libo on 13-12-19.
 
*/
@Component
public class DaoJpaImpl implements IDao {

    @PersistenceContext
    private EntityManager entityManager;

    @Override
    public void save(Object entity) {
        entityManager.persist(entity);
    }
}

service 接口:
package cn.test.service;

import cn.test.entity.User;

/**
 * Created by libo on 13-12-19.
 
*/
public interface UserService {
    void save(User user);
}

service 實現類:
package cn.test.service;

import cn.test.dao.IDao;
import cn.test.entity.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

/**
 * Created by libo on 13-12-19.
 
*/
@Service
public class UserServiceImpl implements UserService {

    @Autowired
    private IDao iDao;

    @Override
    //@Transactional(propagation= Propagation.REQUIRED)
    @Transactional(readOnly = false)
    public void save(User user) {
        iDao.save(user);
    }
}
實體類:
package cn.test.entity;

import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;

/**
 * Created by libo on 13-12-19.
 
*/
@Entity
@Table(name = "myUser")
public class User implements Serializable{

    @Id
    private String id;

    private String name;

    private int age;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

spring-config.xml 其中
task相關內容可以刪除
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:tx
="http://www.springframework.org/schema/tx"
       xmlns:task
="http://www.springframework.org/schema/task"
       xmlns:context
="http://www.springframework.org/schema/context"
       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 http://www.springframework.org/schema/task
            http://www.springframework.org/schema/task/spring-task-3.1.xsd http://www.springframework.org/schema/context
            http://www.springframework.org/schema/context/spring-context-3.1.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd"
>
    <context:annotation-config/>
    <context:component-scan base-package="cn.test"/>
    <task:annotation-driven/>

    <bean id="em" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
        <property name="dataSource" ref="dataSource"/>
        <property name="packagesToScan" value="cn.test.entity"/>
        <property name="jpaVendorAdapter">
            <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"/>
        </property>
        <property name="jpaProperties">
            <props>
                <prop key="hibernate.hbm2ddl.auto">update</prop>
                <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop>
            </props>
        </property>
    </bean>

    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql://localhost:3306/spring_jpa"/>
        <property name="username" value="root"/>
        <property name="password" value="123456"/>
    </bean>

    <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
        <property name="entityManagerFactory" ref="em"/>
    </bean>
    <!-- 可以使用@Transactional配置事務 -->
    <tx:annotation-driven transaction-manager="transactionManager"/>

    <bean id="persistenceExceptionTranslationPostProcessor"
          class
="org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor"/>
</beans>

測試類:
package cn.test.service;

import cn.test.entity.User;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

/**
 * Created by libo on 13-12-19.
 
*/
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:spring-config.xml")
public class UserServiceImplTest {

    @Autowired
    private UserService userService;

    @Test
    public void testSave() throws Exception {
        User user = new User();
        user.setId("u_id");
        user.setName("u_name");
        user.setAge(23);
        userService.save(user);
    }
}

運行Junit測試就可以了。連接的是MySQL數據庫

end.


Libo 2013-12-19 16:17 發表評論
]]>
Spring 自動任務執行CMD 命令http://www.tkk7.com/iamlibo/archive/2013/12/18/407742.htmlLiboLiboWed, 18 Dec 2013 08:35:00 GMThttp://www.tkk7.com/iamlibo/archive/2013/12/18/407742.htmlhttp://www.tkk7.com/iamlibo/comments/407742.htmlhttp://www.tkk7.com/iamlibo/archive/2013/12/18/407742.html#Feedback0http://www.tkk7.com/iamlibo/comments/commentRss/407742.htmlhttp://www.tkk7.com/iamlibo/services/trackbacks/407742.htmlpom.xml文件中依賴的jar:
 <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>3.1.4.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.quartz-scheduler</groupId>
            <artifactId>quartz</artifactId>
            <version>1.8.5</version>
        </dependency>
</dependencies>
spring-config.xml配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:task
="http://www.springframework.org/schema/task"
       xmlns:context
="http://www.springframework.org/schema/context"
       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 http://www.springframework.org/schema/task
            http://www.springframework.org/schema/task/spring-task-3.1.xsd http://www.springframework.org/schema/context
            http://www.springframework.org/schema/context/spring-context-3.1.xsd"
>
    <context:component-scan base-package="cn.test" />
    <task:annotation-driven/>
</beans>

定義一個接口,寫一個實現類。
package cn.test;

/**
 * Created by libo on 13-12-18.
 
*/
public interface SchedulerService {
    void doSome();
}
package cn.test;

import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import java.io.*;
import java.util.Calendar;

/**
 * Created by libo on 13-12-18.
 
*/
@Component
public class SchedulerServiceImpl implements SchedulerService {

    @Scheduled(cron = "0/5 * *  * * ? ")   //每5秒執行一次
    @Override
    public void doSome() {
        System.out.println("do soming" + Calendar.getInstance().getTime());
        Runtime runtime = Runtime.getRuntime();
        Process p = null;
        FileWriter fw = null;
        try {
            //此處執行的是ipconfig命令,可以換成任何cmd 里的命令。
            p = runtime.exec("cmd /c ipconfig /all");
            BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream(), "GBK"));
            // 將命令執行結果保存到文件中
            fw = new FileWriter(new File("C:/temp/cmdout.txt"));
            String line = null;
            while ((line = reader.readLine()) != null) {
                fw.write(line + "\n");
            }
            fw.flush();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (p != null) {
                p.destroy();
            }
            try {
                if (fw != null)
                    fw.close();
                if (p != null)
                    p.getOutputStream().close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        System.out.println("do soming" + Calendar.getInstance().getTime());
    }

}

測試類(注意:使用junit是不能測試自動任務地!)
package cn.test;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

/**
 * Created by libo on 13-12-18.
 
*/
public class Test {

    public static void main(String[] args){
        ApplicationContext context = new ClassPathXmlApplicationContext("/spring-config.xml");
        System.out.println("請等待5秒讓任務飛一會兒!");
    }
}

end.

Libo 2013-12-18 16:35 發表評論
]]>
Spring mvc 返回JSON 在IE 下提示下載 解決辦法http://www.tkk7.com/iamlibo/archive/2013/11/21/406646.htmlLiboLiboThu, 21 Nov 2013 11:30:00 GMThttp://www.tkk7.com/iamlibo/archive/2013/11/21/406646.htmlhttp://www.tkk7.com/iamlibo/comments/406646.htmlhttp://www.tkk7.com/iamlibo/archive/2013/11/21/406646.html#Feedback1http://www.tkk7.com/iamlibo/comments/commentRss/406646.htmlhttp://www.tkk7.com/iamlibo/services/trackbacks/406646.html解決辦法 是:
<mvc:annotation-driven ignoreDefaultModelOnRedirect="true" validator="validator">
        <mvc:message-converters register-defaults="false">
            <bean
                
class="org.springframework.http.converter.ByteArrayHttpMessageConverter" />
            <bean class="org.springframework.http.converter.StringHttpMessageConverter">
                <property name="supportedMediaTypes" value="text/plain;charset=UTF-8" />
            </bean>
            <bean
                
class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
                <property name="supportedMediaTypes" value="text/plain;charset=UTF-8" />
            </bean>
        </mvc:message-converters>
        
    </mvc:annotation-driven>

如果提示 http 406 錯誤,將方法注釋中的 將produces 的值改為application/json;charset=utf-8
或去掉即可以正常訪問。


Libo 2013-11-21 19:30 發表評論
]]>
bat設置環境變量 啟動mysql非安裝版服務 啟動tomcat(轉)http://www.tkk7.com/iamlibo/archive/2013/11/13/406308.htmlLiboLiboWed, 13 Nov 2013 11:04:00 GMThttp://www.tkk7.com/iamlibo/archive/2013/11/13/406308.htmlhttp://www.tkk7.com/iamlibo/comments/406308.htmlhttp://www.tkk7.com/iamlibo/archive/2013/11/13/406308.html#Feedback0http://www.tkk7.com/iamlibo/comments/commentRss/406308.htmlhttp://www.tkk7.com/iamlibo/services/trackbacks/406308.html@echo off 

if exist "%CATALINA_HOME%" (goto update_CATALINA_HOME) else (goto create_CATALINA_HOME) 
:create_CATALINA_HOME 
wmic ENVIRONMENT create name="CATALINA_HOME",username="<system>",VariableValue="%cd%\tomcat" 
:update_CATALINA_HOME 
wmic ENVIRONMENT set name="CATALINA_HOME",username="<system>",VariableValue="%cd%\tomcat" 

if exist "%JAVA_HOME%" (goto update_JAVA_HOME) else (goto create_JAVA_HOME) 
:create_JAVA_HOME 
wmic ENVIRONMENT create name="JAVA_HOME",username="<system>",VariableValue="%cd%\jdk" 
:update_JAVA_HOME 
wmic ENVIRONMENT set name="JAVA_HOME",username="<system>",VariableValue="%cd%\jdk" 

if exist "%ANT_HOME%" (goto update_ANT_HOME) else (goto create_ANT_HOME) 
:create_ANT_HOME 
wmic ENVIRONMENT create name="ANT_HOME",username="<system>",VariableValue="%cd%\ant" 
:update_ANT_HOME 
wmic ENVIRONMENT set name="ANT_HOME",username="<system>",VariableValue="%cd%\ant" 

wmic ENVIRONMENT set name="CLASSPATH",username="<system>",VariableValue=".;%%JAVA_HOME%%\lib" 

@echo off 
set MYSQL_HOME=%~dp0mysql 
echo MYSQL_HOME=%MYSQL_HOME% 
del /F my.ini 
echo [client] >> my.ini 
echo port = 3306 >> my.ini 
echo default_character_set=utf-8 >> my.ini 
echo [mysqld] >> my.ini 
echo %server_default_character_set%=utf8 >> my.ini 
echo default_storage_engine=InnoDB >> my.ini 
echo basedir=%MYSQL_HOME%>>my.ini 
echo datadir=%MYSQL_HOME%data>> my.ini 
echo innodb_data_file=ibdata1:50M;ibdata2:10M:autoextend >> my.ini 
echo transaction-isolation=READ-COMMITTED >> my.ini 
echo port=%server_port% >> my.ini 
echo max_allowed_packet = 64M >> my.ini 
echo "my.ini in %MYSQL_HOME% created." 
set PATH=%MYSQL_HOME%\bin;%PATH% 
if exist "%MYSQL_HOME%\bin\mysqld-nt.exe" call %MYSQL_HOME%\bin\mysqld-nt --install-manual "mysql" --defaults-file="%MYSQL_HOME%my.ini" 
if not exist "%MYSQL_HOME%\bin\mysqld-nt.exe" call %MYSQL_HOME%\bin\mysqld --install-manual "mysql" --defaults-file="%MYSQL_HOME%\my.ini" 

net start mysql 


@echo off 

if exist "%CATALINA_HOME%" go startup 
echo Cannot find "CATALINA_HOME%" 

:startup 
call "%CATALINA_HOME%\bin\startup.bat" start 

Libo 2013-11-13 19:04 發表評論
]]>
JSF2 傳參太爽了http://www.tkk7.com/iamlibo/archive/2012/07/13/383050.htmlLiboLiboFri, 13 Jul 2012 11:42:00 GMThttp://www.tkk7.com/iamlibo/archive/2012/07/13/383050.htmlhttp://www.tkk7.com/iamlibo/comments/383050.htmlhttp://www.tkk7.com/iamlibo/archive/2012/07/13/383050.html#Feedback0http://www.tkk7.com/iamlibo/comments/commentRss/383050.htmlhttp://www.tkk7.com/iamlibo/services/trackbacks/383050.html閱讀全文

Libo 2012-07-13 19:42 發表評論
]]>
Freemarker 開發組件—— title 組件http://www.tkk7.com/iamlibo/archive/2012/07/06/382338.htmlLiboLiboFri, 06 Jul 2012 02:19:00 GMThttp://www.tkk7.com/iamlibo/archive/2012/07/06/382338.htmlhttp://www.tkk7.com/iamlibo/comments/382338.htmlhttp://www.tkk7.com/iamlibo/archive/2012/07/06/382338.html#Feedback0http://www.tkk7.com/iamlibo/comments/commentRss/382338.htmlhttp://www.tkk7.com/iamlibo/services/trackbacks/382338.htmlFreemarker 可以通過macro 來定義一個組件(或者叫指令)。然后在需要的地方引用。

比如,想在每增加頁面的地方設置一下當前頁的title,類似于這樣:

這樣就可以定義一個名為title的組件,然后通過參數傳入標題。

Formtitle.ftl代碼:

<#--表單標題 -->

<#macro formTitle title="">

<script type="text/javascript" src="platform/js/jquery.corner.js"></script>

<div id="toolbar" class="page_title">

<div id="page_title"style="float:left; margin-top:3px; margin-left:5px;">

<img src="platform/images/ico.png" />${title}</div>

<div align="right" id="btns" style="padding-right:10px">

<#nested/>

</div>

</div>

<div class="clear"/>

<script language="javascript">

$('#page_title').corner("5px");

</script>

</#macro>

其中 <#macro formTitle title=""> 表示定義該組件名為 formTitle ,有一個參數title默認值為"",其他的內容就按照美工的設計寫就要可以了。

<#nested/> 表示可以嵌入代碼,即可以在使用時嵌入其他的內容。

使用時:

<@formTitle title="用戶增加">

</@formTitle>

?

<@formTitle title="用戶增加">

????這里是嵌入的內容,可以是HTML,也可以是freemarker 的內容。

</@formTitle>

看一下實際的效果圖

?

?



Libo 2012-07-06 10:19 發表評論
]]>
freemarker之模板開發(其它之自定義指令)http://www.tkk7.com/iamlibo/archive/2012/06/21/381240.htmlLiboLiboThu, 21 Jun 2012 02:04:00 GMThttp://www.tkk7.com/iamlibo/archive/2012/06/21/381240.htmlhttp://www.tkk7.com/iamlibo/comments/381240.htmlhttp://www.tkk7.com/iamlibo/archive/2012/06/21/381240.html#Feedback0http://www.tkk7.com/iamlibo/comments/commentRss/381240.htmlhttp://www.tkk7.com/iamlibo/services/trackbacks/381240.html轉自:http://fhd001.iteye.com/blog/1167764

freemarker之模板開發(其它之自定義指令)

----------

自定義指令可以使用macro指令來定義,這是模板設計者所關心的內容。Java程序員若不想在模板中實現自定義指令,而是在java語言中實現指令的定義,這時可以使用:freemarker.template.TemplateDirectiveModel類來擴展。

? ?

宏是有一個變量名的模板片段。你可以在模板中使用宏作為自定義指令,這樣就能進行重復性的工作。

如例:

Html代碼??

  1. <#macro?greet>??
  2. ????<font?size="+2">Hello?Joe!</font>??
  3. </#macro>??

macro指令自身不打印任何內容,它只是用來創建宏變量,所以就會有一個名為greet的變量,<#macro greet></#macro>之間的內容(稱為宏定義體)當使用它作為指令時將會被執行。你可以在FTL標記中通過@代替#來使用自定義指令使用變量名作為指令名。而且,自定義指令的結束標記也是需要的,如:<@greet></@greet>

因為<anything>,/anything><anything/>是相同的,你也可以使用:<@greet/>

宏能做的事情還有很多,因為在<#macro...></#macro>之間的東西是模板片段,也就是說它可以包含插值(${..})FTL標簽(如:<#if...>...</#if>)

注意:程序員通常將使用<@...>,這稱為宏調用

? ?

參數

macro指令中,宏名稱的后面位置是用來定義變量的。如例:?

Html代碼??

  1. <#macro?greet?person>??
  2. ????<font?size="+2">Hello?${person}!</font>??
  3. </#macro>??

那么就可以這樣來使用這個宏:

Html代碼??

  1. <@greet?person="Fred"/>??

使用預定義指令時,參數的值(=號后邊的值)可以是FTL表達式。這樣,不像HTML"Fred"的引號就可以不用要了。<@greet person=Fred/>也意味著使用變量的值Fred作為person參數,而不是字符串"Fred"。當然參數值并不一定是字符串類型,也可以是數字,布爾值,哈希表,序列等...也可以在=號左邊使用復雜表達式(比如:someParam=(price+50)*1.25)

自定義指令可以有多個參數,如: ?

Html代碼??

  1. <#macro?greet?person?color>??
  2. ????<font?size="+2"?color="${color}">Hello?${persion}!</font>??
  3. </#macro>??

那么,這個宏就可以這樣來使用:

Html代碼??

  1. <@greet?person="Fred"?color="black"/>??

同時也必須給出在宏中定義所有參數的值。如果你嘗試<@greet person="Fred"/>時也會發生錯誤,因為忘記指定color的值了。?

根據FTL表達式規則,明白下面這一點是至關重要的,someParam=foosomeParam="${foo}"是不同的。第一種情況,是把變量foo的值作為參數的值來使用。第二種情況則是使用插值形式的字符串,那么參數值就是字符串了,這個時候,foo的值呈現為文本,而不管foo是什么類型的

宏參數的另外一個重要的方面是它們是局部變量。

? ?

嵌套內容

自定義指令可以嵌套內容,和預定義指令相似。如:?

Html代碼??

  1. <#macro?border>??
  2. ????<table?border=4?cellspacing=0?cellpadding=4><tr><td>??
  3. ????????<#nested>??
  4. ????</td></tr></table>??
  5. </#macro>??

注:<#nested>指令執行位于開始和結束標記指令之間的模板代碼段。如果這樣寫:

Html代碼??

  1. <@border>The?bordered?text</@border>??

那么就會輸出:

Html代碼??

  1. <table?border=4?cellspacing=0?cellpadding=4><tr><td>??
  2. ????The?bordered?text??
  3. </td></tr></table>??

如果不使用nested指令,那么嵌套的內容就不會被執行,前面的例子如果這樣寫:

Html代碼??

  1. <@greet?person="Joe">??
  2. ????Anything.??
  3. </@greet>??

FreeMarker不會把它視為錯誤,只是打印:

Html代碼??

  1. <font?size="+2">Hello?Joe!</font>??

嵌套的內容被忽略了,因為greet宏沒有使用nested指令。

? ?

宏和循環變量

list這樣的預定義指令可以使用循環變量,如例:

Html代碼??

  1. <#macro?do_thrice>??
  2. ????<#nested?1>??
  3. ????<#nested?2>??
  4. ????<#nested?3>??
  5. </#macro>??

用戶自定義指令,使用";"代替"as"

Html代碼??

  1. <@do_thrice?;?x>??
  2. ????${x}?Anything.??
  3. </@do_thrice>??

將會輸出:

1 Anything.

2 Anything.

3 Anything.

nested指令(當然參數可以是任意的表達式)的參數,循環變量的名稱是在自定義指令的開始標記(<@...>)的參數后面通過分號確定的。



Libo 2012-06-21 10:04 發表評論
]]>
怎么查詢端口被占用http://www.tkk7.com/iamlibo/archive/2012/06/20/381135.htmlLiboLiboWed, 20 Jun 2012 01:02:00 GMThttp://www.tkk7.com/iamlibo/archive/2012/06/20/381135.htmlhttp://www.tkk7.com/iamlibo/comments/381135.htmlhttp://www.tkk7.com/iamlibo/archive/2012/06/20/381135.html#Feedback0http://www.tkk7.com/iamlibo/comments/commentRss/381135.htmlhttp://www.tkk7.com/iamlibo/services/trackbacks/381135.html轉自http://www.cnblogs.com/xyzdw/articles/2108149.html

以下文章主要以80端口號為例,如果想知道其他的端口號也可以使用該方法..........................

1、在windows下如何查看80端口占用情況?是被哪個進程占用?如何終止等.
??????? 這里主要是用到windows下的DOS工具,點擊"開始"--"運行",輸入"cmd"后點擊確定按鈕,進入DOS窗口,接下來分別運行以下命令:
??????? >netstat -aon | findstr "80"
??????????????? Proto? Local Address????????? Foreign Address??????? State??????????? PID
??????????????? ====? ============????? ==============? ==========? ======
??????????????? TCP??? 0.0.0.0:80??????????????????? 0.0.0.0:0??????????????? LISTENING????? 1688
可以看出80端口被進程號為1688的程序占用.
??????? >tasklist | findstr "1688"
圖像名??????????????????????????????????????????????? PID??????????? 會話名??????????????????? 會話#?????? 內存使用
?????????????? ========================= ====== ================ ======== ============
?????????????? inetinfo.exe??????????????????????????????????????? 1688?????????? Console????????????????????? 0????????????? 2,800 K
很明顯,是inetinfo占用了80端口;inetinfo.exe主要用于支持微軟Windows IIS網絡服務的除錯,這個程序對你系統的正常運行是非常重要的.
??????? 當然,并不是只有inetinfo.exe進程會占用80端口,這只是我機器上的情況.如果你并不了解此進程是干什么用的,千萬不要盲目地將其kill掉,最好先百度或Google搜索一下;當然如果你很了解它,并確定可以終止,那么繼續下面的命令.
??????? >taskkill /pid 1688 /F
成功: 已終止 PID 為 1688 的進程。
如果你很熟悉此進程,并確定可以終止,那么就直接使用上面的命令把PID為1688的進程終止.(這一步同樣可以在任務管理器中執行,inetinfo.exe就是任務管理器中的映像名稱,選中它,點擊"結束進程"即可)
??????? >tasklist | findstr "1688"
再次確認是否成功終止,如果成功終止此次執行命令后應返回空.

2、linux下如何查看80端口占用情況?是被哪個進程占用?如何終止等

查詢端口是否被占用,被哪個進程占用有兩種方式:1、netstat -anl | grep "80" ;2、lsof -i:80

終止進程的方式:kill pid



Libo 2012-06-20 09:02 發表評論
]]>
Struts2 Action 與Spring bean 作用域http://www.tkk7.com/iamlibo/archive/2012/05/30/379590.htmlLiboLiboWed, 30 May 2012 13:29:00 GMThttp://www.tkk7.com/iamlibo/archive/2012/05/30/379590.htmlhttp://www.tkk7.com/iamlibo/comments/379590.htmlhttp://www.tkk7.com/iamlibo/archive/2012/05/30/379590.html#Feedback0http://www.tkk7.com/iamlibo/comments/commentRss/379590.htmlhttp://www.tkk7.com/iamlibo/services/trackbacks/379590.htmlstruts2 action 是沒有scope的,但通過引用spring bean 可以達到有scope功能。

?

?

<action name="xxxAction" class="xxxBean">

<result name="success" >/success.jsp</result>

</action>

?

?xxxBean是在spring中配置的session作用域的bean.

?

@Service(value = "xxxBean")

@Scope(value = "session")

public class XxxAction {

...

}

? ?

?

想把action放到session作用域(因為一些特殊操作傳參等),但所有action都放到session會頭大的!!

?

經過測試發現一個辦法,就是把不用的xxxAction在適當的時候從session當中清除掉,這樣再下次使用(沒有關閉窗口的情況)的時候會再次創建xxxBean

?

現在的難點在于什么時候清除比較合適,一般一個action都是負責一個功能,比如用戶的增、刪、改查等,不會涉及到其他對象,采購單的增、刪、改、查。這樣就可以在通過菜單切換功能(從用戶界面切到采購單界面)的時候將剛剛使用的用戶的actionsession當中清除。

?

基于這樣的思路,使用struts2 的攔截器(Interceptor)來監聽特定的action,在菜單切換的時候從session中清除不用的action

?

?

歡迎提出各種看法!

?

?



Libo 2012-05-30 21:29 發表評論
]]>
Weblogic 部署程序艱難過程http://www.tkk7.com/iamlibo/archive/2012/05/30/379558.htmlLiboLiboWed, 30 May 2012 07:10:00 GMThttp://www.tkk7.com/iamlibo/archive/2012/05/30/379558.htmlhttp://www.tkk7.com/iamlibo/comments/379558.htmlhttp://www.tkk7.com/iamlibo/archive/2012/05/30/379558.html#Feedback0http://www.tkk7.com/iamlibo/comments/commentRss/379558.htmlhttp://www.tkk7.com/iamlibo/services/trackbacks/379558.html首先說明最后部署是不成功的,但中間發現并解決了一些問題做一下記錄。

最近需要把tomcat下的項目部署到weblogic中,版本在10和12c之間選擇了。

首先來說12c 版本,主要是sfl4j 這個包中有一個錯誤,找不到方法,項目中使用的版本是1.5.8 而weblogic 12c 使用的是 1.6.X log 方法多了一個數組類型的參數。

后來降級到10.3.6 版的weblogic 部署時出現一系列的包沖突,主要原因是weblogic 會首先加載它自己的包,這需要在weblogic.xml中加入

<wls:container-descriptor>

????<wls:prefer-web-inf-classes>true</wls:prefer-web-inf-classes>

</wls:container-descriptor>

?

這樣的代碼就可以了,但又出現

org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from class path resource [spring-config.xml]; nested exception is java.lang.ClassCastException: weblogic.xml.jaxp.RegistryDocumentBuilderFactory

….

Caused By: java.lang.ClassCastException: weblogic.xml.jaxp.RegistryDocumentBuilderFactory

….

查了好多解決辦法,主要原因是weblogic 的jar 包與程序中的jar包沖突,prefer-web-inf-classes設置為true 引起的需要刪除xml-apis-1.0.b2.jar 這個jar包才可以。

但刪除這個jar包后,又不能解析hibernate Queries ,看網上的解決辦法是不使用命名查詢。

因為程序中有很多命名查詢,所以也沒有刪除,最終只好暫時放棄使用weblogic了。

?



Libo 2012-05-30 15:10 發表評論
]]>
主站蜘蛛池模板: 亚洲国产理论片在线播放| 免费无码国产V片在线观看| 青青草国产免费久久久91| 美女视频黄a视频全免费网站色| 亚洲高清成人一区二区三区| 国内精品免费视频精选在线观看 | 国产精品亚洲mnbav网站 | 成人黄色免费网站| 国产综合成人亚洲区| 久久国产精品亚洲一区二区| 国产精品久久久久久久久久免费| 免费国产va在线观看| 亚洲毛片无码专区亚洲乱| 亚洲国产精品专区在线观看| 国产va精品免费观看| 三级黄色片免费看| 亚洲精品色播一区二区| 亚洲综合精品一二三区在线 | 亚洲首页在线观看| 亚洲精品一级无码中文字幕| 国产精品成人观看视频免费 | 免费又黄又爽的视频| jjizz全部免费看片| 中文字幕成人免费高清在线| 亚洲国产日韩a在线播放| 91在线亚洲精品专区| 久久亚洲国产成人精品无码区| 中文字幕无码成人免费视频| 永久免费av无码入口国语片| 黄色毛片免费观看| 亚洲日韩精品无码AV海量| 久久亚洲AV成人无码| 亚洲国产精品无码专区在线观看| 国产免费爽爽视频免费可以看| 国产妇乱子伦视频免费| 久久99精品免费视频| 久久精品成人免费国产片小草| 在线亚洲v日韩v| 亚洲AV无码AV日韩AV网站| 亚洲视频无码高清在线| 91亚洲精品视频|