Showing posts with label web project. Show all posts
Showing posts with label web project. Show all posts

Wednesday, March 13, 2013

comment_icon 0 Web.XML Explained


The web.xml Deployment Descriptor file tell about that how application will be deployed in the server or servlet container such as TOMCAT
This file is Required for every application which will be deployed on Tomcat/Apache . The location of Web.XML is always Application-root/WEB-INF/web.xml or WebContent/WEB-INF/web.xml

There is minimum one tag is required in web.xml that is  <web-app> TAG. This  contains following information
 <?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
     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">
</web-app>

WEB-APP CAN CONTAIN VARIOUS DIFFERENT ELEMNETS. A complete web-app example is given below please click the TAG for more details

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

        <!-- ========================================================== -->
        <!-- General -->
        <!-- ========================================================== -->

        <!-- Name the application -->
        <display-name>Example App</display-name>
        <description>An example application which is used to play with some of the features of Tomcat</description>

        <!-- This app is cluster-ready -->
        <distributable />

        <!-- Set timeout to 120 minutes -->
        <session-config>
                <session-timeout>120</session-timeout>
        </session-config>


        <!-- ========================================================== -->
        <!-- Custom Tag Libraries -->
        <!-- ========================================================== -->

        <!-- Taglib declarations are no longer required since JSP 2.0, see Removing taglib from web.xml -->
        <!-- The <taglib> did not need to be a child of <jsp-config> in earlier versions but is required as of Tomcat 7 -->
        <!-- Note that you can only have one <jsp-config> element per web.xml -->
        <!--
        <jsp-config>
                <taglib>
                        <taglib-uri>mytags</taglib-uri>
                        <taglib-location>/WEB-INF/jsp/mytaglib.tld</taglib-location>
                </taglib>
        </jsp-config>
        -->


        <!-- ========================================================== -->
        <!-- JSP Configuration -->
        <!-- ========================================================== -->

        <jsp-config>
                <jsp-property-group>
                        <url-pattern>*.jsp</url-pattern>
                        <include-prelude>/WEB-INF/jspf/prelude1.jspf</include-prelude>
                        <include-coda>/WEB-INF/jspf/coda1.jspf</include-coda>
                </jsp-property-group>
        </jsp-config>


        <!-- ========================================================== -->
        <!-- Context Parameters -->
        <!-- ========================================================== -->

        <context-param>
                <description>Enable debugging for the application</description>
                <param-name>debug</param-name>
                <param-value>true</param-value>
        </context-param>
        <context-param>
                <description>The email address of the administrator, used to send error reports.</description>
                <param-name>webmaster</param-name>
                <param-value>address@somedomain.com</param-value>
        </context-param>


        <!-- ========================================================== -->
        <!-- JNDI Environment Variables -->
        <!-- ========================================================== -->

        <env-entry>
                <env-entry-name>webmasterName</env-entry-name>
                <env-entry-value>Ms. W. Master</env-entry-value>
                <env-entry-type>java.lang.String</env-entry-type>
        </env-entry>
        <env-entry>
                <env-entry-name>cms/defaultUserSettings/recordsPerPage</env-entry-name>
                <env-entry-value>30</env-entry-value>
                <env-entry-type>java.lang.Integer</env-entry-type>
        </env-entry>
        <env-entry>
                <env-entry-name>cms/enableXMLExport</env-entry-name>
                <env-entry-value>false</env-entry-value>
                <env-entry-type>java.lang.Boolean</env-entry-type>
        </env-entry>
        <env-entry>
                <env-entry-name>cms/enableEmailNotifications</env-entry-name>
                <env-entry-value>true</env-entry-value>
                <env-entry-type>java.lang.Boolean</env-entry-type>
        </env-entry>


        <!-- ========================================================== -->
        <!-- Servlets -->
        <!-- ========================================================== -->

        <!-- Simple Servlet, provide a name, class, description and map to URL /servlet/SimpleServlet -->
        <servlet>
                <servlet-name>Simple</servlet-name>
                <servlet-class>SimpleServlet</servlet-class>
                <description>This is a simple Hello World servlet</description>
        </servlet>
        <servlet-mapping>
                <servlet-name>Simple</servlet-name>
                <url-pattern>/servlet/SimpleServlet</url-pattern>
        </servlet-mapping>

        <!-- CMS Servlet, responds to *.cms URL's -->
        <servlet>
                <!-- Identification -->
                <servlet-name>cms</servlet-name>
                <servlet-class>com.metawerx.servlets.ContentManagementSystem</servlet-class>
                <description>This servlet handles requests for the CMS (it is a controller in an MVC architecture)</description>

                <!-- This servlet has two parameters -->
                <init-param>
                        <param-name>debug</param-name>
                        <param-value>true</param-value>
                </init-param>
                <init-param>
                        <param-name>detail</param-name>
                        <param-value>2</param-value>
                </init-param>

                <!-- Load this servlet when the application starts (call the init() method of the servlet) -->
                <load-on-startup>5</load-on-startup>
                <!-- <run-at>0:00, 6:00, 12:00, 18:00</run-at> This tag is only valid for Resin -->
        </servlet>

        <!-- Map some URLs to the cms servlet (demonstrates *.extension mapping) -->
        <servlet-mapping>
                <!-- For any URL ending in .cms, the cms servlet will be called -->
                <servlet-name>cms</servlet-name>
                <url-pattern>*.cms</url-pattern>
        </servlet-mapping>

        <!-- Rewriter Servlet, responds to /content/* and /admin/RewriterStatistics URL's -->
        <!-- Define a servlet to respond to /content/* URL's -->
        <servlet>
                <servlet-name>rewriter</servlet-name>
                <servlet-class>com.metawerx.servlets.URLRewriter</servlet-class>
        </servlet>

        <!-- Map some URL's to the rewriter servlet (demonstrates /path/* and specific URL mapping) -->
        <servlet-mapping>
                <!-- For any URL starting with /content/, the rewriter servlet will be called -->
                <servlet-name>rewriter</servlet-name>
                <url-pattern>/content/*</url-pattern>
        </servlet-mapping>
        <servlet-mapping>
                <!-- The rewriter servlet can also be called directly as /admin/RewriterStatistics, to return stats -->
                <servlet-name>rewriter</servlet-name>
                <url-pattern>/admin/RewriterStatistics</url-pattern>
        </servlet-mapping>

        <!-- PathJSP Servlet, maps /shop/item/* URL's to a JSP file -->
        <!-- Define a JSP file to respond to /shop/item/* URL's -->
        <servlet>
                <servlet-name>pathjsp</servlet-name>
                <jsp-file>pathfinder.jsp</jsp-file>
        </servlet>

        <!-- Map some URL's to the pathjsp servlet (demonstrates /long/path/* URL mapping) -->
        <servlet-mapping>
                <!-- For any URL starting with /shop/item/, the pathjsp servlet will be called -->
                <servlet-name>pathjsp</servlet-name>
                <url-pattern>/shop/item/*</url-pattern>
        </servlet-mapping>


        <!-- ========================================================== -->
        <!-- Filters -->
        <!-- ========================================================== -->

        <!-- Example filter to set character encoding on each request (from Tomcat servlets-examples context) -->
        <filter>
                <filter-name>Set Character Encoding</filter-name>
                <filter-class>filters.SetCharacterEncodingFilter</filter-class>
                <init-param>
                        <param-name>encoding</param-name>
                        <param-value>EUC_JP</param-value>
                </init-param>
        </filter>
        <filter-mapping>
                <filter-name>Set Character Encoding</filter-name>
                <url-pattern>/*</url-pattern>
        </filter-mapping>

        <!-- Example filter to dump the HTTP request at the top of each page (from Tomcat servlets-examples context) -->
        <filter>
                <filter-name>Request Dumper Filter</filter-name>
                <filter-class>filters.RequestDumperFilter</filter-class>
        </filter>
        <filter-mapping>
                <filter-name>Request Dumper Filter</filter-name>
                <url-pattern>/*</url-pattern>
        </filter-mapping>


        <!-- ========================================================== -->
        <!-- Listeners -->
        <!-- ========================================================== -->

        <!-- Define example application events listeners -->
        <listener>
                <listener-class>com.metawerx.listener.ContextListener</listener-class>
        </listener>
        <listener>
                <listener-class>com.metawerx.listener.SessionListener</listener-class>
        </listener>


        <!-- ========================================================== -->
        <!-- Security -->
        <!-- ========================================================== -->

        <!-- Define roles -->
        <security-role>
                <role-name>admin</role-name>
        </security-role>
        <security-role>
                <role-name>cms_editors</role-name>
        </security-role>
        
        <!-- Define a constraint to restrict access to /private/* -->
        <security-constraint>

                <display-name>Security constraint for the /private folder</display-name>

                <web-resource-collection>
                        
                        <web-resource-name>Protected Area</web-resource-name>
                        <url-pattern>/private/*</url-pattern>
                        
                        <!-- If you list http methods, only those methods are protected. -->
                        <!-- Leave this commented out to protect all access -->
                        <!--
                        <http-method>DELETE</http-method>
                        <http-method>GET</http-method>
                        <http-method>POST</http-method>
                        <http-method>PUT</http-method>
                        -->

                </web-resource-collection>

                <auth-constraint>
                        <!-- Only only administrator and CMS editors to access this area -->
                        <role-name>admin</role-name>
                        <role-name>cms_editors</role-name>
                </auth-constraint>

        </security-constraint>

        <!-- FORM based authentication -->
        <!-- Leave this commented out, we will use BASIC (HTTP) authentication instead -->
        <!--
        <login-config>
                <auth-method>FORM</auth-method>
                <form-login-config>
                        <form-login-page>/login.jsp</form-login-page>
                        <form-error-page>/error.jsp</form-error-page>
                </form-login-config>
        </login-config>
        -->
        <!-- This application uses BASIC authentication -->
        <login-config>
                <auth-method>BASIC</auth-method>
                <realm-name>Editor Login</realm-name>
        </login-config>

        <!-- Define a constraint to force SSL on all pages in the application -->
        <security-constraint>

                <web-resource-collection>
                        <web-resource-name>Entire Application</web-resource-name>
                        <url-pattern>/*</url-pattern>
                </web-resource-collection>

                <user-data-constraint>
                        <transport-guarantee>CONFIDENTIAL</transport-guarantee>
                </user-data-constraint>

        </security-constraint>


        <!-- ========================================================== -->
        <!-- Error Handler -->
        <!-- ========================================================== -->

        <!-- Define an error handler for 404 pages -->
        <error-page>
                <error-code>404</error-code>
                <location>/error404.jsp</location>
        </error-page>

        <!-- Define an error handler for java.lang.Throwable -->
        <error-page>
                <exception-type>java.lang.Throwable</exception-type>
                <location>/errorThrowable.jsp</location>
        </error-page>


        <!-- ========================================================== -->
        <!-- Extra MIME types -->
        <!-- ========================================================== -->

        <!-- Set XML mime-mapping so spreadsheets open properly instead of being sent as an octet/stream -->
        <mime-mapping>
                <extension>xls</extension>
                <mime-type>application/vnd.ms-excel</mime-type>
        </mime-mapping>


        <!-- ========================================================== -->
        <!-- Locale -->
        <!-- ========================================================== -->

        <!-- Set Locale Encoding -->
        <locale-encoding-mapping-list>
                <locale-encoding-mapping>
                        <locale>ja</locale>
                        <encoding>Shift_JIS</encoding>
                </locale-encoding-mapping>
        </locale-encoding-mapping-list>


        <!-- ========================================================== -->
        <!-- Welcome Files -->
        <!-- ========================================================== -->

        <!-- Define, in order of preference, which file to show when no filename is defined in the path -->
        <!-- eg: when user goes to http://yoursite.com/ or http://yoursite.com/somefolder -->
        <!-- Defaults are provided in the server-wide web.xml file, such as index.jsp, index.htm -->
        <!-- Note: using this tag overrides the defaults, so don't forget to add them here -->
        <welcome-file-list>
                <!-- Use index.swf if present, or splash.jsp, otherwise just look for the normal defaults -->
                <welcome-file>index.swf</welcome-file>
                <welcome-file>splash.jsp</welcome-file>
                <welcome-file>index.html</welcome-file>
                <welcome-file>index.htm</welcome-file>
                <welcome-file>index.jsp</welcome-file>
        </welcome-file-list>

</web-app>

Saturday, February 2, 2013

comment_icon 0 Brackets : An Open Source Text Editor from Adobe

Finally Adobe made something Open Source. Brackets  is the opensource text editor specially designed for the Web developer. there are some amazing features like inline editing,live edit (preview is shown in chrome) that most of the web developer gonna love. One more thing is liked about this is that it built by using java script, html 5,CSS , So as they say
   For the WEB by the WEB



Where To get it ?

you can get it here. current release it Sprint 19.

Basic features  how to use ?

For inline text editing just put your mouse on the html tag like body,div,h1 etc and press CTRL+E 














Live Preview 

To Use the Bracket live Preview feature click on the icon in  top right , just as icon highlighted in below image.

Bracket Video Demo 

Bracket extensions

Bracket mainly focus on the web development and there  are so many extension available to increase your productivity and performance . these extensions are categorized under different categories but  there is no GUI for installing the extensions however you can manually download and copy the extension and copy them to extension directory and then browse it using menu bar. 
Code/Text Editing
  • Select Parent: Quick way to select the block enclosing the selection
  • Web Fonts: Simple interface for adding/deleting/swapping Google Web Fonts in a CSS file
  • Kill Ring: Adds an Emacs-style kill ring to the editor.
  • Spell Checker: integrates the spell checker web service After The Deadline - now in beta - Supports English, German, French, Spanish and Portuguese. Note: Now compatible with brackets build >== build 0.18.x /Sprint 18
Snippets & Shorthand
  • Emmet/Zen Coding: Adds Emmet (Zen Coding) support to Brackets (download here).
  • Snippets: Assign trigger keys to insert snippets. Configurable with JSON
  • Prefixr: Generate browser specific CSS prefixes using the prefixr service.
  • Quick Markup: fast HTML markup generation as you type.
  • HTML Templates: Pastes in barebones HTML code for different doctypes.
  • Auto-match pairs: auto-complete Paranthesis, Brackets, Braces, Double and Single Quotes...
Code/Text Formatting
Code Generation
  • App Cache Buddy: Generate and validate application cache manifests.
  • Annotate: Generates JSDoc annotations for your functions
Language Support
  • JavaScript Code Hints: Code hinting (aka autocompletion) for JavaScript files in Brackets.
  • PHP: adds PHP function definition support to QuickOpen search
General Functionality
  • Extension Manager: Install, Remove, and upgrade your extensions from the cloud from inside Brackets (requires node).
  • Extension Toolkit An extension to make building Brackets extensions easier.
  • Related Files: Discovers and allows you to open related files in your project.
  • File Navigation Shortcuts: shortcuts for switching to next/previous editor (non-MRU order), and a version of Quick Open scoped to only open files.
  • Open File from URL: Opens any href and rel atribute urls in editor on ALT+0 shortcut. Currently works only with existing files.
  • Brackets Commands Guide: Search and execute commands by typing part of their name, similar to Quicksilver (or Sublime's Ctrl+Shift+P or Eclipse's Ctrl+3).
  • Open Containing Folder: Opens folder containing current file or a file/folder in Sidebar. Added keyboard shortcut CTRL+ALT+O for opening folder containing document opened in editor.
  • Bookmarks: Navigate within a document using bookmarks.
  • TestQuickly: simple extension to run unit tests with a keystroke (handy for Brackets core and extension developers)
  • PageSuck: prompts for a URL and pulls that page's HTML directly into the editor as a new file
Live Development
  • Debugger: Brackets Debugger for the Live Development browser.
  • Everyscrub: Everything's a scrubber! Cmd/Ctrl + drag on any number or hex color to scrub its value and update the browser in real time.
  • Reload in Browser: Adds a toolbar button and shortcut to reload the page in the browser
  • V8/Node Live Development: Updates scripts running in Node.js as you type
Visual Editing
  • Edge Web Fonts: Browse free fonts from the Edge Web Fonts collection, with thumbnails. Activated via CSS code hints for font-family.
  • Hover Preview: Displays a preview when hovering over a color value, gradient, or image filename.
  • CSS Exclusion Shape Viewer: Quick Edit on an exclusion shape definition in CSS displays the shape.
  • SVG Preview: Live preview SVG files in an inline panel while you edit them.
  • Markdown Preview: Live preview of Markdown files, updated as the document is edited.
External Tools
  • BracketLESS: Compiles LESS files to CSS on save
  • GitHub: Implements the GitHub API, including oAuth. Currently functionality limited to Gists.
  • ToGist: Create an anonymous gist from the current selection.
  • PhoneGap Extension for Brackets: Manage PhoneGap Build projects from Brackets.
  • (See also Prefixr above).
Documentation
Linting & Warnings
Deprecated Extensions
  • Color Editor: Quick Edit on a hex/rgb/hsl color opens an inline color picker, plus a listing of all colors used in the file. (Merged into Brackets as of Sprint 17).
  • Color Picker: Quick Edit on a hex color opens an inline color picker. (A color picker is built into Brackets as of Sprint 17).
  • Editor Shortcuts: Keyboard shortcut to delete line. (This command is built into Brackets as of Sprint 15).
  • MDNLookup: Includes a way of creating an extensions toolbar and adding buttons to the toolbar with callbacks. Requires a slight change to the core. (Does not work in current versions of Brackets).

Thursday, July 19, 2012

comment_icon 1 Project scenarios for TGMC 2012


Today i just seen the list of TGMC scenarios an i am quite surprised because this time  scenarios are  new and quite challenging . These  scenario's fit quite well in student's final year Academic projects.

if you are reading this blog and you are final year student then my only advice to you is go for the TGMC project as FINAL year Academic project because there your 40% work is already done what left is 60% and you will also become eligible for blue scholar if you  make TGMC project and get 2 IBM certifications .
you can do IBM-DB2, and Z-OS both are free for students jo just go for it .
all the best to all students