顯示具有 spring 標籤的文章。 顯示所有文章
顯示具有 spring 標籤的文章。 顯示所有文章

2018年4月17日 星期二

JBOSS AS 7.1 + Gradle Web Application config [Gradle , Spring MVC , Jdk1.7, Jboss AS 7.1,MSSQL]

1.建立gradle專案,將spring所需的一些dependencies 納入

目錄結構如下



2.連結DataSource
我是用sqlserver 2012,在JBOSS根目錄下找到module/com的路徑 
ex:C:\jboss-as-7.1.1.Final\modules\com
在這裡創建以下路徑microsoft\main\
在main資料夾裡放入sqljdbc4.jar 跟跟建立一個module.xml檔,如下圖。


index這個是run成功後會產生的,不用另外建立。

回到standalone.xml 做datasource設定


driver 對應driver name,module要對應稍後會設定的module name

找到<subsystem xmlns="urn:jboss:domain:ee:1.0">
修改為


module name 我猜測是要對應main之前module之後的路徑,\modules\com\microsoft\main 因此
是com.microsoft,之前試了其他都會找不到module,可能在規格書上有寫但我就沒細究了。

3.export war檔 並deploy

   gradle export war檔記得在gralde 裡加上 apply plugin: 'war'
 並加上這段
war {
    from 'src/webapp'
}

他才會把前端所需的東西一起export出來

最後把整包war檔丟到Jboss的deployment , ex: C:\jboss-as-7.1.1.Final\standalone\deployments

啟動server 看到console會有這段 JBAS018210: Registering web context: /accounting

後面加上spring mvc contorller的path 如  http://localhost:8180/accounting/xxcontroller/initPage

就可以把頁面顯示出來了!





 

2018年2月24日 星期六

關於Spring MVC的一些設定與簡單的example

我是用maven project 因此先設定pom.xml

<!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>5.0.0.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-core -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>5.0.0.RELEASE</version>
</dependency>
    
<!-- https://mvnrepository.com/artifact/org.springframework/spring-web -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-web</artifactId>
    <version>5.0.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.0.0.RELEASE</version>
</dependency>

core, context, web以及webmvc



再來先確認springmvc與web.xml 還有jsp的目錄結構

接著先看一下web.xml的內容 加上
       <servlet>
<servlet-name>dispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>         
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>
            /WEB-INF/springmvc-servlet.xml
            </param-value>       
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    
<servlet-mapping>
<servlet-name>dispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>

注意url-pattern 為  /

此外若有編碼問題則請參照另一篇: 解決Spring mvc裡JSP亂碼問題


springmvc-servlet.xml 裡的內容

    <mvc:default-servlet-handler/>
  <context:component-scan base-package="controller" />

    <mvc:annotation-driven />
     <!-- 解析頁面的規則  -->  
    <bean id="jspviewResolver"
        class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- 告訴Spring MVC網頁的資料夾 -->
        <property name="prefix" value="/WEB-INF/jsp/"/>   
        <property name="suffix" value=".jsp"/> 
    </bean>   
因為我大部分使用annotation
因此加上 <mvc:annotation-driven /> 以及欲掃描的package
<context:component-scan base-package="controller" />

到Controller裡加上requestmapping以及@Controller的 annotation


下方加上這段,用return String的方法來顯示前端
@RequestMapping(value="/testing",method=RequestMethod.GET)
public String displaying(@RequestParam Map<String,String> params) {

  return "testing";

}

return 的string 為 jsp的命名





這樣就完成了基本 spring mvc的設置了