JavaWeb中学习servlet时的思考

1.创建动态web工程

2.创建一个类实现servlet接口全部方法

3.重点关注实现方法中的servlet方法,专门用来处理请求和响应的,每次加载servlet程序都会执行这个方法的内容

4.到web.xml中配置servlet程序的地址,不然程序找不到servlet程序在哪里

5.在web.xml中,先配置servlet程序,然后配置servlet程序的地址

6.url-pattern标签配置访问地址,/ 斜杠在服务器解析的时候,表示地址为:http://ip:port/工程路径,/hello 表示地址为:http://ip:port/工程路径/hello ,/hello是资源路径,那么我的工程路径在哪里,就是在上面的tomcat里,点击tomcat,Deployment,在这里配置工程路径,可以点+号加或者-号减去工程,在下面application context配置工程路径,如果没有就下拉一下就找到了(改成当前的moder名字,07_servlet),工程的名字在最上面修改,默认是我们选择的tomcat服务器名字,最好改成我们要用的model名字方便好找
7.启动,会访问当前工程的首页,index.jsp ,进入网址后,在地址栏上输入你配置的hello可以访问,就可以验证有没有成功了。

8.运行servlet程序,http://localhost:8080/06__Servlet/hello,就相当于浏览器(客户端)请求访问了一个localhost(服务器),:8080(代表服务器端口号,也就是这个服务器下的某个程序,不同的程序有不同的端口号,:8080是tomcat的端口号),06_servlet是这个程序的工程,hello是这个工程的资源,在web.xml的配置文件中,通过这个地址找到hello对应的servlet接口实现类,运行这个类。

9.如果不在运行后敲资源名hello,就只是访问了tomcat程序,而没有访问这个程序下你写的任何一个类

10.学习Servlet 的生命周期,也就是运行servlet程序会发生的事情,开始到结束
1、执行 Servlet 构造器方法
2、执行 init 初始化方法
第一、二步,是在第一次访问,的时候创建 Servlet 程序会调用。
3、执行 service 方法
第三步,每次访问都会调用。
4、执行 destroy 销毁方法
第四步,在 web 工程停止的时候调用。

11.在web下面写html页面

12.实现servlet接口的类要实现service方法,但是这个网页有两种请求方法,分别是get和post,我们可以在这个方法中对get和post进行判断,
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException { }
怎么判断呢,servletRequest有getMethod()方法,但是他不能使用,只能用ServletRequest的子类型使用,所以这里要类型转换,用ServletRequest的子类HttpServletRequest来实现这个方法。
HttpServletRequest httpServletRequest = (HttpServletRequest) servletRequest;

13.一般在实际项目开发中,都是使用继承 HttpServlet 类的方式去实现 Servlet 程序,也会简单很多
1、编写一个类去继承 HttpServlet 类
2、根据业务需要重写 doGet 或 doPost 方法
3、到 web.xml 中的配置 Servlet 程序的访问地址

14,用idea new一个servlet报错,网上的方法也解决不了,暂时放着了。

15.Servlet 程序默认是第一次访问的时候创建,ServletConfig 是每个 Servlet 程序创建时,就创建一个对应的 ServletConfig 对象,ServletConfig只能得到自己类的值,自己类在web.xml配置的值,不能获取其他类的值

16 ServletConfig servletConfig = getServletConfig();getServletConfig()方法调用的是GenericServlet类的方法,这里应该是把this省略了。

17.ServletConfig和.ServletContext都是接口,ServletConfig servletConfig这是声明对象而不是实例化对象,实例化对象是需要new

18.配置servlet报错Error during artifact deployment. See server log for details.,在配置可能没有错误的情况下,很有可能就是web.xml写错了,检查一下 /hello1有没有写错,看有没有写斜杠(/),看不同的类的这个地址一不一样,必须是要不一样的。

19.用idea new出来了,但是类前面有很长的包名,所以要把包名给删了,也挺麻烦的,还不如直接写,差不多了。

20./ServletContext 是在 web 工程部署启动的时候创建。在 web 工程停止的时候销毁。
所以,只要重启工程,之前的对象就不再了,数据也不再了,但是只要没有重启工程,而是前两个选项的操作工程,那么数据就一直都在,新部署后启动, System.out.println(“保存之前: Context1 获取 key1的值是:”+ context.getAttribute(“key1”));也可以获取到数据。而且不管你在哪里访问都可以取到数据,包括你在ContextServlet3的地址中去取也可以。

21.点运行的时候,是把工程部署到服务器上

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值