学习javaWeb开发-Servlet

学习java的万里长征的第一步,就是岁数大了记性不好,学了Servlet之后赶紧写下来,省的学了之后又忘了。

个人感觉Servlet像是用户请求的处理中心,可以根据url有选择的接收用户请求并进行响应。下面来记录一下Servlet与url请求对应的具体配置,首先创建Dynamic Web Project 项目,记得勾选最后一步帮你生成web.xml文件的框框,不然等自己动手去创建就太2了!!!


接下来在src中创建Servlet类。创建一个Servlet类需要继承HttpServlet类,重要的需要重写的函数为doGet和doPost(get和post的区别为,get为显示传参,参数在url中为明文传递,最大为1k,适合传递简单参数;post为隐式传参,没有大小限制,且内传递容安全性高),当然以上那些事勾勾选选之后系统都帮你做好了。

<span style="font-size:14px;">import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class TestServlet
 */
//@WebServlet("/nihao")
public class TestServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public TestServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		response.getWriter().write("this is the requst from hello");// 将信息显示在页面上。
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		response.getWriter().write("</span><span style="font-size: 14px; font-family: Arial, Helvetica, sans-serif;">this is the requst from hello</span><span style="font-size: 14px; font-family: Arial, Helvetica, sans-serif;">");// 将信息显示在页面上。</span><span style="font-size:14px;">
	}
}</span>
上面值得注意的是注解@WebServlet("/nihao"),若当前服务跟目录为localhost:8080/TestServlet,则输入localhost:8080/TestServlet/nihao 则该url的请求会被TestServlet接收到,这是一个简化配置的方法,但是无法对应多个url请求。

接下来要干的事就是捣鼓web.xml了<servlet>
  

  <servlet-name>testServlet</servlet-name>
    <servlet-class>mqy.std.TestServlet</servlet-class>
  <servlet-mapping>
    <servlet-name>testServlet</servlet-name>
    <url-pattern>/hello</url-pattern>
  </servlet-mapping>。

servlet在配置文件里分为两部分,第一部分类似于声明,就是new一个对象然后起个名字。servlet-name就是名字,servlet-name是类型,这里类型要写全名就ok了。

<servlet>
    <servlet-name>testServlet</servlet-name>
    <servlet-class>mqy.std.TestServlet</servlet-class></servlet>

第二部分就是指定servlet与具体url的映射关系啦,这里头servlet-name和就写你要对应的名字这个名字要和第一步里的一致。url-pattern是配置servlet接收url请求用的,可用通配符"*"配置。比如配置成“/hello”,localhost:8080/TestServlet/hello就会被响应。用"/*.do"的话,localhost:8080/TestServlet/下面所有以.do结尾的url都会被响应。用“/”的话所有请求都会被响应。这里配置成/hello,保存之后运行起来。

<servlet-mapping>
    <servlet-name>testServlet</servlet-name>
    <url-pattern>/hello</url-pattern>
  </servlet-mapping>


这里可以有多个servlet和多个servlet-mapping,我手贱试了一下,发现一个servlet可以对应对个servlet-mapping,一个url-pattern只能有对应一个servlet否则会报错。

今天的内容就这么多了,给自己加油!



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值