Курс java-2016. Занятие 11. servlets, jsp
Post on 11-Feb-2017
267 Views
Preview:
TRANSCRIPT
Курс по Java, 2016
Servlet, JSP
Курс по Java, 2016
Servlet API
Курс по Java, 2016
javax.servlet.Servletimport javax.servlet.GenericServlet;
public class MyServlet extends GenericServlet { @Override public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException { // do something }}
Курс по Java, 2016
javax.servlet.ServletRequestString remoteAddress = servletRequest.getRemoteAddr();String contentType = servletRequest.getContentType();InputStream input = servletRequest.getInputStream();String parameter = servletRequest.getParameter("name");Object attribute = servletRequest.getAttribute("name");servletRequest.setAttribute("name", attribute);
Курс по Java, 2016
javax.servlet.ServletResponseservletResponse.setContentType("text/html");servletResponse.setContentLength(256);OutputStream output = servletResponse.getOutputStream();
Курс по Java, 2016
javax.servlet.http.HttpServletpublic class MyHttpServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // process GET request } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // process POST request } }
Курс по Java, 2016
javax.servlet.http.HttpServletRequestString remoteAddress = request.getRemoteAddr();String contentType = request.getContentType();Reader reader = request.getReader();String parameter = request.getParameter("name");Object attribute = request.getAttribute("name");request.setAttribute("name", attribute);Cookie[] cookies = request.getCookies();String proxiedClient = request.getHeader("X-Forwarded-For");HttpSession session = request.getSession();
Курс по Java, 2016
javax.servlet.http.HttpSessionHttpSession session = request.getSession();
Object sessionAttribute = session.getAttribute("name");session.setAttribute("name", sessionAttribute);
Курс по Java, 2016
javax.servlet.http.HttpServletResponseresponse.setContentType("text/html");response.setContentLength(256);Writer writer = response.getWriter();response.addCookie(new Cookie("name", "value"));response.addHeader("X-My-Header", "value");response.sendError(500, "Everything failed");response.sendRedirect("/other-path");
Курс по Java, 2016
Servlet Container
Курс по Java, 2016
Apache TomcatСамый популярный Servlet/JSP контейнерhttps://tomcat.apache.org/
Курс по Java, 2016
$CATALINA_HOME├── bin├── conf├── lib├── logs├── webapps│ ├── hello│ │ ├── index.jsp│ │ ├── META-INF│ │ └── WEB-INF│ │ ├── classes│ │ │ └── it│ │ │ └── sevenbits│ │ │ └── example│ │ │ └── hello│ │ │ └── HelloWorldServlet.class│ │ └── web.xml│ ├── hello.war│ └── ROOT└── work
Курс по Java, 2016
WARWeb Application aRchive
│ ├── hello.war│ │ ├── index.jsp│ │ ├── META-INF│ │ └── WEB-INF│ │ ├── classes│ │ │ └── it│ │ │ └── sevenbits│ │ │ └── example│ │ │ └── hello│ │ │ └── HelloWorldServlet.class│ │ └── web.xml
Курс по Java, 2016
War в Maven<project> <modelVersion>4.0.0</modelVersion> <groupId>it.sevenbits.example</groupId> <artifactId>hello</artifactId> <packaging>war</packaging> <version>1.0-SNAPSHOT</version> <name>hello Maven Webapp</name> <url>http://maven.apache.org</url> <build> <finalName>hello</finalName> </build></project>
Курс по Java, 2016
Webapp в Maven <dependencies> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> <scope>provided</scope> </dependency> </dependencies>
Курс по Java, 2016
Webapp в Maven
Курс по Java, 2016
web.xml<web-app> <display-name>Sample Web Application</display-name> <servlet> <servlet-name>HelloWorldServlet</servlet-name> <servlet-class> it.sevenbits.example.hello.HelloWorldServlet </servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloWorldServlet</servlet-name> <url-pattern>/world</url-pattern> </servlet-mapping></web-app>
Курс по Java, 2016
Сборка веб приложенияmvn package
cp target/hello.war $CATALINA_HOME/webapps
Курс по Java, 2016
HelloWorldServletpublic class HelloWorldServlet extends HttpServlet {
@Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/plain"); PrintWriter out = response.getWriter(); out.println("Hello, world"); }
}
Курс по Java, 2016
JSPJava Server Pages
Servlet наоборот
Курс по Java, 2016
hello_world.jsp<!DOCTYPE html><html><head> <title>Hello</title></head><body> <h1>Hello, world!</h1></body></html>
Курс по Java, 2016
Model — View — Controller
MVC
Курс по Java, 2016
Model● Атрибуты запроса● Сессия
Курс по Java, 2016
ViewJSP
<!DOCTYPE html><html><head> <title>Hello <%=request.getAttribute("name")%></title></head><body> <h1>Hello, <%=request.getAttribute("name")%>!</h1></body></html>
Курс по Java, 2016
ControllerServlet
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // model manipulations String name = request.getParameter("name"); request.setAttribute("name", name); // forward to view RequestDispatcher dispatcher = request.getRequestDispatcher("hello_name.jsp"); dispatcher.forward(request, response); }
Курс по Java, 2016
Forward RequestDispatcher.forward(request, response)
Курс по Java, 2016
Redirect HttpServlerResponse.sendRedirect(“path”)
Курс по Java, 2016
Курс по Java, 2016
J2EE
Курс по Java, 2016
Домашнее заданиеПоставить Tomcat.
Сделать простое веб приложение с отправкой формы.
Посмотреть, в какой java код превращаются JSP страницы.
annie.tarasenko@7bits.it denis.nelubin@7bits.it
top related