深入Servlet技术

1.新建一个web项目,首先贴上自己的项目结构:

2.建立FirstServlet:

package com.wch.sp.servlet;

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

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

/**
 * Servlet implementation class FirstServlet
 */
public class FirstServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;

    /**
     * Default constructor. 
     */
    public FirstServlet() {
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	public void doGet(HttpServletRequest request, HttpServletResponse response){
		this.log("执行doGet方法");
		try {
			this.execute(request, response);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	public void doPost(HttpServletRequest request, HttpServletResponse response) {
		this.log("执行Post方法");
		
		try {
			this.execute(request, response);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
	@Override
	protected long getLastModified(HttpServletRequest req) {
		this.log("调用getLastModified");
		return -1;
	}
	
	public void execute(HttpServletRequest request,HttpServletResponse response) throws Exception
	{
		response.setCharacterEncoding("utf-8");
		request.setCharacterEncoding("utf-8");
		
		String method = request.getMethod();
		String requestURI = request.getRequestURI();
		String param = getInitParameter("message");
		
		response.setContentType("text/html");
		PrintWriter out = response.getWriter();
		
		out.println("<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>");
		out.println("<html>");
		out.println("<head>");
		out.println(" <title>第一个Servlet </title> ");
		out.println("<body>");
		out.println("以"+method+"的方式访问该页面,取到的param为:"+param+"<br/>");
		out.println("<form action='"+requestURI+"' method='GET' <input type='text' name='param' value='param String'/>" +
				"<input type='submit' value='以Get方式查询页面'"+requestURI+"/>");
		out.println("</form>");
		out.println("<form action='"+requestURI+"' method='POST' <input type='text' name='param' value='param String'/>" +
				"<input type='submit' value='以POST方式查询页面'"+requestURI+"/>");
		out.println("</form>");
		out.println("<script>document.write('本页面最后的更新时间:'+document.lastModified);</script>");
		out.println("</body>");		
		out.println("</head>");
		out.println("</html>");
		out.flush();
		out.close();
	}

}


3.配置web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
	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_2_5.xsd">
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  <servlet>
    <!-- 配置Servlet中,以下两个属性是必须配置的,name是可以任意取的,class配置的是包名 -->
    <servlet-name>FirstServlet</servlet-name>
    <servlet-class>com.wch.sp.servlet.FirstServlet</servlet-class>
    <!-- servlet中还有许多可选的配置,例如下面的初始化参数配置,一个Servlet可以配置多个初始化参数,Servlet中可以使用getInitParameter(name)
		或者是getInitParameterNames()获取配置的参数值-->
    <init-param>
        <param-name>message</param-name>
        <param-value>utf-8</param-value>
    </init-param>
    <!--下面的标签配置的是Servlet的加载方式,可选值为0或1,如果配置为1,Tomcat会在启动时加载该Serlet。
    	否则,Tomcat会在有人第一次请求该Servlet的时候才加载该 Servlet。实际项目中,一些框架如Struts、JSF、Spring都是用该参数来加载框架中核心的Servlet-->
    <load-on-startup>1</load-on-startup>
</servlet>
<!--配置Servlet的访问方式,Servlet-name就是前面配置的Servlet的名称,url-pattern配置该Servlet的访问方式-->
<servlet-mapping>
    <servlet-name>FirstServlet</servlet-name>
<!-- 配置的Servlet的访问路径,可以随便设置,比如说我现在访问Servlet的路径就是:http://localhost:8080/Servlet/servlet/firstServlet -->
    <url-pattern>/servlet/firstServlet</url-pattern>
</servlet-mapping>
</web-app>


4.部署在Tomcat容器中,然后开启Tomcat服务器,访问:http://localhost:8080/Servlet/servlet/firstServlet(如果你在doGet()或者doPost()方法中打入断点,会更加好理解程序的流程)

访问结果是:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值