• 在Javaweb中使用Scala


         Java 是一门比较优秀的编程语言, 其最大功劳是建立非常繁荣的JVM平台生态。不过 Java 语法比较麻烦,写过 C, Python 的人总是想使用简洁的语法,又希望利用上 Java 平台的强大,因此,催生了 Groovy , Scala 这样的 JVM 语言。那么为什么选择 Scala 呢? 因为 Scala 是一门富有想象力的语言!

      本文尝试在 Javaweb 中使用 Scala , 使用 Scala 编写一个 Servlet ,项目见  http://www.cnblogs.com/lovesqcc/p/4037708.html 。值得注意的是, Intellj 提供了将 Java 转化为 Scala 的功能! 不信,你可以将 Java 代码直接复制到 Scala 文件中。

      在 Javaweb 项目中使用 Scala , 需要添加如下依赖和插件:  

    <dependency>
                <groupId>org.scala-lang</groupId>
                <artifactId>scala-library</artifactId>
                <version>2.10.1</version>
            </dependency>
    <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.8.1</version>
                    <configuration>
                        <includes>
                            <include>**/*.java</include>
                            <include>**/*.scala</include>
                        </includes>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.scala-tools</groupId>
                    <artifactId>maven-scala-plugin</artifactId>
                    <version>2.15.2</version>
                    <executions>
                        <execution>
                            <id>scala-compile-first</id>
                            <phase>process-resources</phase>
                            <goals>
                                <goal>compile</goal>
                            </goals>
                        </execution>
                        <execution>
                            <id>scala-test-compile</id>
                            <phase>process-test-resources</phase>
                            <goals>
                                <goal>testCompile</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>

         Scala Servlet: 

    package servlets
    
    import java.io.IOException
    import javax.servlet.ServletException
    import javax.servlet.http.{HttpServletResponse, HttpServletRequest, HttpServlet}
    
    import autocomplete.{SimpleWordMatcher, PrefixMatcher}
    import scala.collection.JavaConversions._
    
    /**
     * Created by lovesqcc on 16-3-19.
     */
    class AutoCompleteServletUsingScala extends HttpServlet {
    
      protected var wordMatcher: PrefixMatcher = new SimpleWordMatcher
    
      @throws(classOf[ServletException])
      @throws(classOf[IOException])
      override def doGet(req: HttpServletRequest, resp: HttpServletResponse) {
        doPost(req, resp)
      }
    
      @throws(classOf[ServletException])
      @throws(classOf[IOException])
      override def doPost(req: HttpServletRequest, resp: HttpServletResponse) {
        resp.setContentType("text/plain;charset=UTF8")
        val inputText: String = req.getParameter("inputText")
        val matchers = wordMatcher.obtainMatchedWords(inputText)
    
        var content = ""
        matchers.foreach {
            word => content += word + " "
        }
    
        resp.getWriter print content
    
      }
    
    }
  • 相关阅读:
    服务器监控
    Ubuntu16.04安装印象笔记
    在vi中打开多个文件,复制一个文件中多行到另一个文件中
    Ubuntu16.04安装和卸载MySQL 5.7
    Ubuntu16.04 sever 安装
    查看ubuntu 各系统的内核版本
    Ubuntu16.04中查看硬盘的型号和读取速度
    python 实现3-2 问候语: 继续使用练习 3-1 中的列表,但不打印每个朋友的姓名,而为每人打印一条消息。每条消息都包含相同的问候语,但抬头为相应朋友的姓名。
    线程
    并发编程
  • 原文地址:https://www.cnblogs.com/lovesqcc/p/5294299.html
Copyright © 2020-2023  润新知