Struts2 ile İlk Web Uygulaması(login)

Daha önceki yazılarımda Struts2‘ den bahsettim, Tomcat‘ den bahsettim, postgreSQL ile Netbeans bağlantısından bahsettim. Bu yazılarla java web uygulamsı çalıştırabileceğimiz bir altyapı oluşturduk. Şimdi de ilk java web uygulamamızı yazalım.

Netbeans’ te bir web uygulamsı açtığınızda zaten bir “Hello World” uygulaması gelir. Buradan kodları inceleyerek basit bir java web uygulamasının mantığını anlayabilirsiniz. Sanırım farklı bir uygulama yapmak daha faydalı olur. Yapacağımız uygulama basit bir login uygulaması olacak. Dosyaların hiyerarşisini aşağıdan incelediğinizde yerleşimi daha kolay yapabilirsiniz.

Şimdi sırasıyla kodları veriyorum. Yukardaki resimde gördüğünüz yapıya sadık kalarak bu kodları gerekli dosyalara yapıştırmalı ya da olmayan dosyaları oluşturmalısınız. Ben zaten gerekli açıklamaları yapacağım.

login.jsp

login.jsp dosyası Web Pages klasörü altına oluşturulmalı. Bilindiği üzere jsp dosyaları uygulamaların arayüzünün kodlandığı dosyalardır.
[cc lang = ‘html’]
<%-- Document   : login Created on : 24.Haz.2011, 14:11:42 Author     : dell620x --%>
<%@taglib uri="/struts-tags" prefix="s" %>
<%@page contentType="text/html" pageEncoding="UTF-8"%>




Struts2 Login Application ” rel = “stylesheet” type =”text/css” />


Giriş Sayfası







[/cc]

 

loginSuccess.jsp

Bu dosya da aynı konumda oluşturulmalı. Eğer login sayfasında girilen bilgiler doğru ise bu sayfaya yönlendirileceksiniz.
[cc lang = ‘html’]
<%-- Document   : loginSuccess Created on : 24.Haz.2011, 14:28:13 Author     : dell620x --%>

<%@taglib uri="/struts-tags" prefix="s" %>
<%@page contentType="text/html" pageEncoding="UTF-8"%>




Ogin Success

Login Successfull



[/cc]

 

main.css

Bunu açıklamama gerek yoktur galiba. Stil dosyası da formun görünüşü ve sayfa düzeni ile ilgili kodları içeriyor
[cc lang=’css’]
@CHARSET “UTF-8”;

body {
font: 12px verdana, arial, helvetica, sans-serif;
background-color:#FFFFFF;
}

table.wwFormTable {
font: 12px verdana, arial, helvetica, sans-serif;
border-width: 1px;
border-color: #030;
border-style: solid;
color: #242;
background-color: #ada;
width: 30%;
margin-left:35%;
margin-right:35%;
margin-top:15%;
}

table.wwFormTable tr td {
background-color: #dfd;
margin: 5px;
padding: 5px;
}

.tdLabel {
/*
border-width: 1px;
border-color: #afa;
border-style: solid;
*/
font-weight: bold;
align: top;
}

.errorMessage {
color: red;
font-size: 0.8em;
}

#headerDiv {
border-style: solid;
border-width: 1px 1px 0px;
border-color: black;
padding: 5px;
background-color: #7a7;
/* height: 22px; */
height: 1.8em;
/* margin-bottom: 12px; */
}

#buttonBar {
border-width: 0px 1px 1px;
border-style: solid;
border-color: black;
color: white;
margin-bottom: 12px;
background-color: #7a7;
height: 1.6em;
padding: 5px;
}

#appName {
color: white;
font-size: 1.8em;
}

#pageTitle {
font-size: 1.4em;
color: #dfd;
clear: none;
}

#appName, #pageTitle {
float: right;
}

#menuContainer {
float: left;
}

#brandingContainer {
float: right;
text-align: right;
}
[/cc]
Login.java
Login.java dosyasını Source Packages klasörünün altına oluşturacağımız myPages paketinin altına oluşturuyoruz. Aşağıdaki kodları incelediğinizde kodlamaların java dilinden ibaret olduğunu anlayacaksınız.

[cc lang=’java’]
package pages;
import com.opensymphony.xwork2.ActionSupport;
import java.util.Date;

public class Login extends ActionSupport
{
public String execute() throws Exception
{
System.out.println(“Validating login”);
if(!getUserName().equals(“admin”) || !getPassword().equals(“123456”))
{
addActionError(“Invalid username or password! Please try again”);
return “ERROR”;
}
else
{
return “SUCCESS”;
}
}

//username proporties
private String userName = null;

public String getUserName()
{
return userName;
}

public void setUserName(String userName)
{
this.userName = userName;
}

//password proporties
private String password = null;

public String getPassword()
{
return password;
}

public void setPassword(String password)
{
this.password = password;
}
}
[/cc]
struts.xml
struts.xml dosyası bizim için zaten oluşturulmuş durumdadır. Bu yüzden tekrar oluşturmamıza gerek yok. Aşağıdaki kodları, struts.xml içindeki kodların yerine yapıştırdığınızda uygulama tamamlanmış olacaktır.
[cc lang =’xml’]

 




login.jsp


loginSuccess.jsp
login.jsp


[/cc]
 

Uygulama, son halini aldığında çalıştırabilmek için war dosyasını oluşturuyoruz. (war dosyası oluşturma işlemi  için tıklayınız. ) Dist klasörü içinde oluşan war dosyasını da tomcat’ a yükleyip localhosttan uygulamayı test edebilirsiniz.

NOT : Kullanıcı bilgileri ; Kullanıcı adı: admin, Şifre: 123456