230 likes | 347 Views
CS491B. Technology Comparison between JSP and Rails. By Kwan Shing Yuen. Description. Comparison two programming languages by creating online store web site Java (OO language) and JSP(J2EE) Ruby (Scripting language) and Rails. JSP version. ( JSP version) Programming Language: Java 1.5
E N D
CS491B Technology Comparison between JSP and Rails By Kwan Shing Yuen
Description • Comparison two programming languages by creating online store web site • Java (OO language) and JSP(J2EE) • Ruby (Scripting language) and Rails
JSP version • ( JSP version) • Programming Language: Java 1.5 • Development tool: Sun J2EE™ Development Kit 5.0 • Integrated Development Environment: TextPad 4.7.3 32-bit • Development Platform: Microsoft Windows XP • Web Server: Tomcat ( port 8080 ) • Database: MYSQL
Rails version • ( Rails version) • Programming Language: Ruby (ruby1.8.2-15) • Development tool: Ruby on Rails framework • Integrated Development Environment: TextPad 4.7.3 32-bit Edition • Development Platform: Microsoft Windows XP • Web Server: WEBrick 1.3.1 ( port 3000 ) • Database: MYSQL
Book Store Feature • Book search • Shopping Cart • Check Out • Login ( admin ) • Pending and Shipped Order List
Software Architecture • MVC • Model • View • Controller
JSP • Models • User.java • MyBook .java, MyBooks.java • CartItem.java, CartItem.java • Views • userM.jsp • adminM.jsp • MyCart.jsp ……… • Controller • Book_Controller.java
Rails • Models • Book.rb • Order.rb • Cart.rb • Views • Search.rhtml • Display_cart.rhtml • List.rhtml …………. • Controller • book_Controller.rb, admin_Controller.rb, login_Controller.rb
Syntax Variable In Java: MyBook temp = new MyBook() In Ruby: @temp ( we don’t need to specific the type, it can be a object) eg. @temp = Book.new
Syntax (Cont.) • Parameter • In JSP: req.getParameter("id") -> in a String type • In Rails: params[:id] -> can be any type
Syntax (Cont.) HyperLink In JSP: <a href="show.jsp?id=3">ISBN</a> In Rails: <%= link_to @bookss.ISBN, :action => "show", :id => @bookss.id %>
Development • JSP has to code line by line • JSP has more code in getting data from database
Rails • It has a scaffold autogenerated • Less code of getting data in MYSQL • Auto mapping to the database • Create table books ( id int ………….. • Book.rb • class Book < ActiveRecord::Base……. • …… • …… • end
DEMO • >rails depot • create table products( id int not null auto_increment, name varchar(10) not null, primary key(id)); • database connection • > ruby script.generate scaffold Product Admin
Search in database • Search in Database: • In JSP: • // • Result rs= stmt.executeQuery("select * from books where id = 2"); • while( rs.next() ) • { • int id = rs.getInt(“id”); • } • // • // • Result rs= stmt.executeQuery("select * from books where isbn = ‘16349827’"); • while( rs.next() ) • { • String isbn = rs.getInt(“isbn”); • } • //
Search in database • In Rails: • @id = 2 • book = Book.find(@id) • @ISBN = 16349827 • @bookss = Book.find_by_ISBN @ ISBN