2010-02-10 5 views
5

간단한 Java/JSP 웹 앱을 만들고 기본 스칼라 서블릿을 추가했습니다. 모든 것이 작동하며 Scala 파일과 web.xml을 아래에 포함 시켰습니다. MySql 테이블을 쿼리하고 HTML < 테이블> ... </table>을 생성 할 수 있도록 내 작은 "트레이너"서블릿을 어떻게 수정할 수 있습니까? Btw, 나는 Lift를 나중에 보게 될 것이다. 현재, 기존의 웹 애플리케이션에 몇 가지 새로운 Scala 서블릿을 추가 할 계획입니다.데이터베이스 연결이있는 간단한 Scala 서블릿?


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> 

답변

1

첫 번째 옵션은 이미 강화되어 기존의 응용 프로그램이 MySQL을 접속 뭔가를 사용하는 경우 확인해야

 
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. 만약 그렇다면 그것을 활용하십시오. 호환성 문제는 피할 수 있습니다.

scala-like와 같은 것을하고 싶다면 http://github.com/szeiger/scala-query에서 scala-query를 봐야합니다.

Java ORM을 활용할 수도 있습니다. Scala를 사용하면 기존 프레임 워크 및 라이브러리를 활용할 수 있습니다. 그냥 많은 것들을 다운로드 할 필요가 없습니다 및 문서를 통해 가려 뭔가를 원하는 경우

마지막으로, 당신은 (구글 또는 SO의 "JDBC MySQL을"에 대한 검색) 바로 JDBC를 사용할 수 있습니다

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

DB와 대화하고 HTML 테이블을 생성하는 데 더 많은 스칼라 솔루션이 있어야하지 않습니까? ("my_table") –

+0

에서 fields ("characterVarying (30)"의 "name")을 선택합니다. 예, * scala-query *를 권했습니다. 몇 가지 샘플 코드는 http://github.com/szeiger/scala-query/blob/master/src/test/scala/com/novocode/squery/test/MainTest.scala를 참조하십시오. – huynhjl

관련 문제