myeclipse开发javaweb难点总结

心不动则不痛 提交于 2019-12-16 14:02:25

修改项目部署名:右键项目首选项—搜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发请求,获取后台的结果,在页面不跳转的前提下显示请求应获得的信息

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!