亚洲熟妇丰满xxxxx,国产亚洲国产bv网站在线,亚洲男人的天堂网站http://m.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://m.tkk7.com/iamlibo/archive/2013/12/19/407775.htmlLiboLiboThu, 19 Dec 2013 08:17:00 GMThttp://m.tkk7.com/iamlibo/archive/2013/12/19/407775.htmlhttp://m.tkk7.com/iamlibo/comments/407775.htmlhttp://m.tkk7.com/iamlibo/archive/2013/12/19/407775.html#Feedback0http://m.tkk7.com/iamlibo/comments/commentRss/407775.htmlhttp://m.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://m.tkk7.com/iamlibo/archive/2013/12/18/407742.htmlLiboLiboWed, 18 Dec 2013 08:35:00 GMThttp://m.tkk7.com/iamlibo/archive/2013/12/18/407742.htmlhttp://m.tkk7.com/iamlibo/comments/407742.htmlhttp://m.tkk7.com/iamlibo/archive/2013/12/18/407742.html#Feedback0http://m.tkk7.com/iamlibo/comments/commentRss/407742.htmlhttp://m.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://m.tkk7.com/iamlibo/archive/2013/11/21/406646.htmlLiboLiboThu, 21 Nov 2013 11:30:00 GMThttp://m.tkk7.com/iamlibo/archive/2013/11/21/406646.htmlhttp://m.tkk7.com/iamlibo/comments/406646.htmlhttp://m.tkk7.com/iamlibo/archive/2013/11/21/406646.html#Feedback1http://m.tkk7.com/iamlibo/comments/commentRss/406646.htmlhttp://m.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://m.tkk7.com/iamlibo/archive/2013/11/13/406308.htmlLiboLiboWed, 13 Nov 2013 11:04:00 GMThttp://m.tkk7.com/iamlibo/archive/2013/11/13/406308.htmlhttp://m.tkk7.com/iamlibo/comments/406308.htmlhttp://m.tkk7.com/iamlibo/archive/2013/11/13/406308.html#Feedback0http://m.tkk7.com/iamlibo/comments/commentRss/406308.htmlhttp://m.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://m.tkk7.com/iamlibo/archive/2012/07/13/383050.htmlLiboLiboFri, 13 Jul 2012 11:42:00 GMThttp://m.tkk7.com/iamlibo/archive/2012/07/13/383050.htmlhttp://m.tkk7.com/iamlibo/comments/383050.htmlhttp://m.tkk7.com/iamlibo/archive/2012/07/13/383050.html#Feedback0http://m.tkk7.com/iamlibo/comments/commentRss/383050.htmlhttp://m.tkk7.com/iamlibo/services/trackbacks/383050.html閱讀全文

Libo 2012-07-13 19:42 發表評論
]]>
Freemarker 開發組件—— title 組件http://m.tkk7.com/iamlibo/archive/2012/07/06/382338.htmlLiboLiboFri, 06 Jul 2012 02:19:00 GMThttp://m.tkk7.com/iamlibo/archive/2012/07/06/382338.htmlhttp://m.tkk7.com/iamlibo/comments/382338.htmlhttp://m.tkk7.com/iamlibo/archive/2012/07/06/382338.html#Feedback0http://m.tkk7.com/iamlibo/comments/commentRss/382338.htmlhttp://m.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://m.tkk7.com/iamlibo/archive/2012/06/21/381240.htmlLiboLiboThu, 21 Jun 2012 02:04:00 GMThttp://m.tkk7.com/iamlibo/archive/2012/06/21/381240.htmlhttp://m.tkk7.com/iamlibo/comments/381240.htmlhttp://m.tkk7.com/iamlibo/archive/2012/06/21/381240.html#Feedback0http://m.tkk7.com/iamlibo/comments/commentRss/381240.htmlhttp://m.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://m.tkk7.com/iamlibo/archive/2012/06/20/381135.htmlLiboLiboWed, 20 Jun 2012 01:02:00 GMThttp://m.tkk7.com/iamlibo/archive/2012/06/20/381135.htmlhttp://m.tkk7.com/iamlibo/comments/381135.htmlhttp://m.tkk7.com/iamlibo/archive/2012/06/20/381135.html#Feedback0http://m.tkk7.com/iamlibo/comments/commentRss/381135.htmlhttp://m.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://m.tkk7.com/iamlibo/archive/2012/05/30/379590.htmlLiboLiboWed, 30 May 2012 13:29:00 GMThttp://m.tkk7.com/iamlibo/archive/2012/05/30/379590.htmlhttp://m.tkk7.com/iamlibo/comments/379590.htmlhttp://m.tkk7.com/iamlibo/archive/2012/05/30/379590.html#Feedback0http://m.tkk7.com/iamlibo/comments/commentRss/379590.htmlhttp://m.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://m.tkk7.com/iamlibo/archive/2012/05/30/379558.htmlLiboLiboWed, 30 May 2012 07:10:00 GMThttp://m.tkk7.com/iamlibo/archive/2012/05/30/379558.htmlhttp://m.tkk7.com/iamlibo/comments/379558.htmlhttp://m.tkk7.com/iamlibo/archive/2012/05/30/379558.html#Feedback0http://m.tkk7.com/iamlibo/comments/commentRss/379558.htmlhttp://m.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 發表評論
]]>
主站蜘蛛池模板: 中文字幕在线免费播放| 综合偷自拍亚洲乱中文字幕| a级毛片高清免费视频| 大胆亚洲人体视频| 免费大片黄在线观看| 全亚洲最新黄色特级网站 | 免费观看又污又黄在线观看| 免费无码又爽又刺激高潮的视频| 亚洲制服丝袜一区二区三区| 57pao一国产成永久免费| 亚洲网站视频在线观看| 天天影院成人免费观看| 亚洲综合校园春色| 无限动漫网在线观看免费| 涩涩色中文综合亚洲| 成人永久免费高清| 一级成人生活片免费看| 亚洲av无码国产精品色午夜字幕| 国产精品爱啪在线线免费观看| 亚洲精品中文字幕无乱码麻豆| 国产又粗又猛又爽又黄的免费视频| 免费人成又黄又爽的视频在线电影| 亚洲最大av无码网址| 国产真人无码作爱视频免费| 亚洲成aⅴ人片在线观| 日美韩电影免费看| 两个人日本WWW免费版| 亚洲福利视频导航| 国产精品视频永久免费播放| 免费福利资源站在线视频| 国产精品亚洲A∨天堂不卡| 亚洲黄色免费观看| 亚洲人成色77777在线观看| 久久久久无码专区亚洲av| 57pao国产成视频免费播放| 亚洲精华国产精华精华液好用 | 在线a亚洲v天堂网2018| 国产真人无码作爱视频免费| 亚洲中文字幕一二三四区| 久久久久亚洲AV成人网| 无码乱肉视频免费大全合集|