oktatas:programozas:java_ee:servlet
Tartalomjegyzék
Java EE Servlet
- Szerző: Sallai András
- Copyright © Sallai András, 2014, 2015
- Licenc: GNU Free Documentation License 1.3
- Web: http://szit.hu
A Java EE használata
Servletet készíthetünk javaee.jar vagy a servlet-api.jar segítségével. Ha Glassfish használjuk, annak telepített helye a /usr/local/glassfish4/ akkor a javaee.jar útvonala:
/usr/local/glassfish4/glassfish/lib/javaee.jar
Ha csomagkezelő saját csomagjaiból telepítettük a tomcat szervert:
/usr/share/tomcat7/lib/servlet-api.jar
Dokumentáció:
Egyszerű példa
- Servlet1.java
import javax.servlet.*; import javax.servlet.http.*; import java.io.*; public class Servlet1 extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { //~ request.setCharacterEncoding("UTF-8"); response.setContentType("text/html; charset=UTF-8"); PrintWriter out = response.getWriter(); java.util.Date today = new java.util.Date(); out.println("<!doctype html>\n<html>\n<head>\n" + "<meta charset=\"utf-8\">\n</head>\n" + "<body>\n" + "<h1 style='text-align:center'>Első servlet</h1>\n" + today + "</body>\n" + "</html>\n"); } }
- web.xml
<?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_3_0.xsd" version="3.0" metadata-complete="true"> <servlet> <servlet-name>Serv1</servlet-name> <servlet-class>Servlet1</servlet-class> </servlet> <servlet-mapping> <servlet-name>Serv1</servlet-name> <url-pattern>/Serv1</url-pattern> </servlet-mapping> </web-app>
- Makefile
SERVAPI=/usr/share/tomcat7/lib/servlet-api.jar all: javac -classpath $(SERVAPI) -d classes -encoding utf8 src/Servlet1.java clean: rm classes/*.class install: cp classes/Servlet1.class /var/lib/tomcat7/webapps/elso/WEB-INF/classes/
Átriányítás
response.sendRedirect("http://szit.hu");
Protokoll lekérdezése
request.getProtocol()
IP cím host lekérdezése
request.getRemoteAddr() request.getRemoteHost()
Paraméterek átvétele
Az alábbi példában egy nagyon egyszerű azonosítást mutatok be, ahol a felhasználó név és a jelszó egy HTML oldal űrlapjáról jön.
- Login.java
import javax.servlet.*; import javax.servlet.http.*; import java.io.*; import java.util.*; public class Login extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { PrintWriter out = response.getWriter(); String user = request.getParameter("user"); String pass = request.getParameter("pass"); if(user.equals("joska") && pass.equals("titok")) { out.println("Sikeres bejelentkezés"); }else { out.println("Hiba! A bejelentkezés sikertelen!"); } } }
Több servlet telepítője
- web.xml
<?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_3_0.xsd" version="3.0" metadata-complete="true"> <servlet> <servlet-name>Servlet</servlet-name> <servlet-class>Servlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>Servlet</servlet-name> <url-pattern>/Servlet</url-pattern> </servlet-mapping> <servlet> <servlet-name>Login</servlet-name> <servlet-class>Login</servlet-class> </servlet> <servlet-mapping> <servlet-name>Login</servlet-name> <url-pattern>/Login</url-pattern> </servlet-mapping> </web-app>
Naplózás
log("test");
tail -f /var/log/tomcat7/localhost.2015-03-29.log ... márc. 29, 2015 7:54:16 DU org.apache.catalina.core.ApplicationContext log INFO: Count: test
oktatas/programozas/java_ee/servlet.txt · Utolsó módosítás: 2019/08/22 12:45 szerkesztette: admin