2010-02-10 20 views
5

Basit bir Java/JSP web uygulaması oluşturdum ve temel bir Scala sunucu uygulaması ekledim. Her şey çalışıyor ve aşağıda Scala dosyasını ve web.xml'i ekledim. MySql tablosunu sorgulayabilmek ve bir HTML < tablo> ... </table> oluşturabilmek için küçük "eğitmen" sunucu uygulamamı nasıl değiştirebilirim? Btw, daha sonra asansöre bakacağım. Şu anda, planım mevcut bir web uygulamasına birkaç yeni Scala uygulaması eklemektir.Veritabanı bağlantısı olan basit bir Scala sunucu uygulaması mı?


ScalaTrainer.scala

 
<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns="http://java.sun.com/xml/ns/javaee" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
      http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
     version="2.5"> 

    <servlet> 
     <display-name>trainer</display-name> 
     <servlet-name>ScalaTrainer</servlet-name> 
     <servlet-class>com.mdm.h4.ScalaTrainer</servlet-class> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
     <servlet-name>ScalaTrainer</servlet-name> 
     <url-pattern>/trainer</url-pattern> 
    </servlet-mapping> 
</web-app> 

cevap

1

İlk seçenek, zaten geliştiriyorlar mevcut uygulama MySQL erişmek için bir şey kullanıp kullanmadığını kontrol etmek olmalıdır

 
package com.mdm.h4 

import javax.servlet.http.{HttpServlet, 
HttpServletRequest => HSReq, HttpServletResponse => HSResp} 

class ScalaTrainer extends HttpServlet 
{ 
    def html = 
    <html> 
     <head> 
     <title>Hello Scala</title> 
     </head> 
     <body> 
     <p style="text-align: center">This is 100% pure Scala.</p> 
     <p>It's now 
      {currentDate} 
     </p> 
     <p>My name is 
      {name} 
      and I'm learning 
      {language}. 
     </p> 
     </body> 
    </html> 

    def name = "Mike" 
    def language = "Scala" 

    def currentDate = java.util.Calendar.getInstance().getTime() 

    override def doGet(req: HSReq, resp: HSResp) { 

    resp.getWriter().print(html) 

    } 
} 

web.xml. Eğer öyleyse, sadece bunu kullanır. Uyumluluk sorunlarından kaçınacaktır.

Aksi takdirde, çok scala gibi bir şey yapmak isterseniz, http://github.com/szeiger/scala-query numaralı telefondan scala sorgusuna bir göz atmalısınız.

Ayrıca herhangi bir Java ORM'den yararlanabilirsiniz. Scala ile mevcut çerçeve ve kitaplıklara dokunabilirsiniz. Sadece birçok şeyi indirmek için gerektirmez ve dokümantasyon elemek için bir şey istiyorsanız

Son olarak, (google veya SO üzerinde "JDBC MySQL" için arama) düz JDBC kullanabilirsiniz:

val s = conn.createStatement() 
s.executeQuery("SELECT * FROM EMP") 
val rs = s.getResultSet() 
while (rs.next()) { 
    ... 
} 
rs.close() 
s.close() 
+0

DB ile konuşmak ve HTML tablosunu oluşturmak için daha Scala benzeri bir çözüm bulunmamalıdır? ("my_table") karakterlerinden karakterleri ("character name" (30)) seçin –

+0

Evet, bunun için * scala-query * önerilir. Bazı örnek kodlar için http://github.com/szeiger/scala-query/blob/master/src/test/scala/com/novocode/squery/test/MainTest.scala adresine bakın. – huynhjl

İlgili konular