修改项目部署名:右键项目首选项—搜web
创建servlet:先在src下面建包,com.yhh.servlet,然后建新servlet,第二页改url为别名,这种方法xml会自动配置好
配置哪个服务器运行哪个项目:菜单栏找服务器图标,点下拉菜单,找Manage Deployments
重定向(resp.sendredirect)和请求转发(req.getRequestDispatcher)的区别是:重定向刷新后页面不会再变,;而请求转发刷新后会回到登陆前的状态
请求转发地址栏没变,重定向地址栏变为新页面
Cookie是把用户不同请求使用需要使用的相同数据存在浏览器里
操作:设置cookie页面ck,第一次访问ck正常登陆,利用c.setPath(“/login/ck”)在ck这个页面添加cookie,第二次访问执行ck的servlet中检查代码,检查到有cookie,则自动执行跳转到“/login/main”,这个跳转还是ck的servlet中的代码
Session指的是在一段时间内,单个用户与web服务器的一连串相关交互过程
写一些全局共享变量或路径,最好写道web.xml中作为全局变量,好处是将代码与变量解耦
Servlet的<load-on-startup>属性,是指启动时自动加载这个Servlet,并调用其init()方法,其值含义表示被加载顺序,越小越先。要设置这个属性在web.xml中,<servlet-class>下一行。
Tomcat的webapps目录下,放的是项目的Webroot目录里的内容
重启服务器时,在本地的改动,只有在myclipse下refresh,才能自动部署到tomcat的webroot目录下。在eclipse下每保存一下文件,tomcat目录下的会随之改动(改动时间发生在此),并不是点击运行服务器后开始部署。
疑惑解答:为什么nums.txt好像不随着本地更改而刷新?答:因为每次点击重启服务器,destroy()先把服务器端的次数记录写进了服务器下的nums.txt,此时如果你本地改了,但是eclipse下不做刷新动作,tomcat目录下的nums.txt不会动。每次init()加载到的都是tomcat目录下的nums.txt数据,也就是上一次被destroy()记录下来的。总而言之,想要改动,在eclipse下要有刷新动作,且改动动作是在服务器停止之后(运行中就算你改好了,tomcat下的跟着动了,但是一执行destroy又回去了,你点的是重启服务器他重启后还是显示以前的数据)。
因此,在tomcat下的nums.txt可以记录着与本地不同的数据,存着网页访问次数,而本地的nums.txt则为空。
ServletContent使用:(1)通过在web.xml中,用<param-name><param-value>配置全局数据,在servlet中可以通过sc.getInitParameter(String name)的方式获取全局数据的值。(2)通过sc.setAttribute(String name,Object value)设置键值对,在不同用户间共享使用(3)还可以获取绝对路径和流对象。
ServletConfig使用:与Content的第一点类似,只不过在xml中配置的是对单个servlet享用的数据
放置mysql-connector架包,把sql文件放到WEB-INF下的lib,右键build path即可
快速生成getter和setter等:source下,generateXXX
Myeclipse忽略单个文件错误:文件上右键—myeclipse--exclude from validation
Ajax的用途,在当前页面通过js发请求,获取后台的结果,在页面不跳转的前提下显示请求应获得的信息
来源:https://www.cnblogs.com/Kinghao0319/p/12048727.html