7_11java编程

一.制作一个简单的servlet:

(1)建立web.xml;

<servlet-mapping>只是一个简单的容器,

<servlet-name>Sample</servlet-name>表示要访问的servlet文件名,

<url-pattern>/servlet/Sample</url-pattern>表示的是要访问Sample.java的路径

 <servlet>

    <description>第一个例子</description>

    <display-name>servletSample</display-name>

    <servlet-name>Sample</servlet-name>servlet名字

    <servlet-class>jp.co.nttdata.servlet.Sample</servlet-class>类所在包及类名

具体代码如下:

 <?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="" xmlns="" xmlns:web="" xsi:schemaLocation=" " id="WebApp_ID" version="2.5">
  <display-name>java</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  <servlet>
    <description>第一个例子</description>
    <display-name>servletSample</display-name>
    <servlet-name>Sample</servlet-name>
    <servlet-class>jp.co.nttdata.servlet.Sample</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>Sample</servlet-name>
    <url-pattern>/servlet/Sample</url-pattern>
  </servlet-mapping>
   <servlet>
    <description>第二个例子</description>
    <display-name>servletJspSample</display-name>
    <servlet-name>JspSample</servlet-name>
    <servlet-class>jp.co.nttdata.servlet.JspSample</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>JspSample</servlet-name>
    <url-pattern>/servlet/JspSample</url-pattern>
  </servlet-mapping>
  </web-app>

(2)建立包jp.co.nttdata.servlet 和类 Sample, JspSample

 Sample.java

package jp.co.nttdata.servlet;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class Sample extends HttpServlet {

    /**
     * serialVersionUID
     */
    private static final long serialVersionUID = -1936901196555528367L;

    public void init() throws ServletException {
        System.out.println("This is initMethod");
    }

    public void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        System.out.println("This is doGet");
        resp.setContentType("text/html;charset=UTF-8");
        PrintWriter out = resp.getWriter();
        out.println("<html>");
        out.println("<body>");
        out.println("This is Servlet");
        out.println("</body>");
        out.println("</html>");
    }

    public void doPost(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        doGet(req, resp);
    }

    public void destroy() {
        super.destroy();
        System.out.println("This is destroy");
    }
}



JspSample.java

package jp.co.nttdata.servlet;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class JspSample extends HttpServlet {

    /**
     * serialVersionUID
     */
    private static final long serialVersionUID = 1751356779488685371L;

    public void init() throws ServletException {
        System.out.println("This is initMethod");
    }

    public void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        System.out.println("This is doGet");
        resp.setContentType("text/html;charset=UTF-8");
        String loginId = req.getParameter("loginId");
        req.setAttribute("loginId", loginId);
        req.setAttribute("loginName", "Nttdata");
//设置跳转参数值
        req.getRequestDispatcher("/response.jsp").forward(req, resp);
    }

//request.getRequestDispatcher(url).forward(request,response)
//是采用请求转发方式,在跳转页面的时候是带着原来页面的request和response跳转的,request对象始终存在,不会重新创建。

    public void doPost(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        doGet(req, resp);
    }

    public void destroy() {
        super.destroy();
        System.out.println("This is destroy");
    }

}

(3)建立请求页面index.jsp和相应页面response.jsp

页面简单的制作了一个表单

<%@ page language="java" contentType="text/html; charset=windows-31j" pageEncoding="windows-31j"%>
标明了编码格式采用的编码语言

 index.jsp
<%@ page language="java" contentType="text/html; charset=windows-31j"
    pageEncoding="windows-31j"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-31j">
<title>Insert title here</title>
</head>
<body>
 <form name="loginForm" action="/java/servlet/JspSample" method="POST">
  index
  <input name="loginId" type="text" />
  <input name="loginName" type="text" value="${loginName}"/>
  <input type="submit" value="sub" />
 </form>
</body>
</html>

<%@ page language="java" contentType="text/html; charset=windows-31j"
    pageEncoding="windows-31j"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-31j">
<title>Insert title here</title>
</head>
<body>
 <form name="loginForm" action="/java/servlet/JspSample" method="POST">
 response
  <input name="loginId" type="text"value="${loginId} />
  <input name="loginName" type="text" value="${loginName}"/>
  <input type="submit" value="sub" />
 </form>
</body>
</html>

你可能感兴趣的:(servlet)