第五周 servlet-1

        在进行servlet的对象运行时,首先需要对其进行配置,也叫注册,这一块有点类似于表单中method和action的设置,通常有两种方式,一种是另建Web.xml文件的单独配置,而另一个就是嵌入到代码中通过注解的方式来配置,各有各的优缺点,后者相对要方便和主流一些

 注解配置:


import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/Helloservlet")
public class Helloservlet extends HttpServlet {
	
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		   response.setContentType("text/html");
		    PrintWriter out = response.getWriter();
		    out.println("<html>");
		    out.println("<head>");
		    out.println("<title>Hello Servlet</title>");
		    out.println("</head>");
		    out.println("<body>");
		    out.println("<h1>Hello, World!</h1>");
		    out.println("</body>");
		    out.println("</html>");
	}
}

        在按照how2j上的步骤引入servlet的jar后,发现代码还是显示会报错,

其一,是关于HelloServlet的类定义,不知道它上面显示的啥巴拉巴拉一大堆,最后是靠

private static final long serialVersionUID = 1L;查了之后,这行的代码就是定义一个序列号。java源码里有大量的类都有这么一个序列号。目的就是把java对象序列化而后进行保存。序列化的作用说白了就是方便java对象的保存和传输

其二,是关于PrintWriter的报错,系统自动生成了解决方案:import java.io.PrintWriter;引入了这个方法的接口

最后是注释配置的语法格式,@WebServlet("/Helloservlet"),代码的理解和写起来相对要直观一些,注解是新版本的新增特性,类似于注释,只是注释是给人看的,注解是给机器看的,其出现位置比较灵活,注解的写法格式比较多,本例中是属于自定义的注解,xml中的一些属性也可以在里面直接给出,比如出后续的过滤器,可以直接定义filterName , urlPatterns 等属性值,还有一种比较常见的就是@Override:用于标记方法重写,防止系统因为对子类的识别因找不到父类而报错

        xml配置

        其中<url-pattern>用于将一个URL请求映射到不同的JSP或者Servlet页面上,   

比如<url-pattern>/myservlet/*</url-pattern>就是将所有以/myservlet/开头的URL请求,都将被映射到MyServlet这个Servlet进行处理,使得URL请求能够被准确地路由到对应的处理器。

同时,<url-pattern>和访问路径是密切相关的。访问路径指的是客户端(如Web浏览器)请求Web服务器的URL路径,而<url-pattern>则用于配置Web服务器将客户端请求路由到对应的Servlet或JSP页面。当一个客户端请求一个URL时,Web服务器会先检查URL是否与配置的<url-pattern>匹配,如果匹配成功,则将请求路由到对应的Servlet或JSP页面进行处理,否则将返回404错误(资源未找到)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值