手动打开Tomcat的方法:打开Tomcat的bin目录,敲startup.bat即可,关闭只需要敲shutdown.bat即可,如果不懂忘了敲dir查询文件名。
修改端口号:在conf目录下的server.xml修改port端口即可,改完需要重启Tomcat才能生效,然后试着访问本地tomcat网址,查看修改后的端口号能否进入。
修改账号信息:在conf目录下的tomcat-user.xml增加role角色,改完需要重启Tomcat才能生效,然后试着访问本地tomcat网址,查看修改后的端口号能否进入。
运行Tomcat:写好的Servlet需要放在Tomcat的classes中然后把修改xml,接着在浏览器输入url-pattern接着服务器会调用相应Servlet的那个类。
Servlet生成页面:在Servelt里面输入resonse.getWriter().write("<a href='http://www.bjsxt.com'>go</a>")
Servlet方法执行顺序:加载ClassLoader→实例化constructor()→初始化init()只执行一次在第一次初始化的时候→处理请求doGet/doPost→destory()退出服务
XML地址:url-pattern写/*是相对于当前类的地址,相对位置
httpServletRequest方法:
request.getParameter("param1")此方法获取request内名字为param1的属性值。
httpServletResponse方法:
response.setContentType("text/html")此方法设置响应页面指定编码。
response.encodeURL()此方法可以转码,也可以在URL后加入SessionID来重写SessionID
httpSession方法:
httpSession.isNew():判断此Session是不是新的
httpSession.getId():获取SessionID
为什么使用cookie:因为http具有无连接性,当request传过来,response传回去后,连接马上断掉,浏览器在机器上传来cookie存放在客户端上,下次登录保留信息。
Cookie1:1.服务器可以向客户端写内容2.只能是文本内容3.客户端可以阻止服务器写入4.只能拿自己webapp写入的东西5.浏览器有自己的编号6.一个servlet/jsp设置的cookie能够被同一个路径下面或者自路径下面的servlet/jsp读到。
Cookie2:Cookie分两种,一种是持久化的Cookie一种是浏览器窗口独有这的Cookie,当你关闭现在这个窗口打开新窗口,持久化Cookie还会在,但浏览器的Cookie马上消失。
Session1:1.两种实现方式,一种通过Cookie实现(浏览器支持Cookie的时候,把SessionID存在临时的Cookie里面),一种通过url重写实现(每次刷新,Session都会不一样)2.同一个application下的Servlet、Jsp可以共享一个Session,前提是同一个客户端窗口。3.Session不像Cookie拥有路径访问问题,同一个application下的servlet/jsp共享同一个Session前提是同一个客户端窗口。
Application:1.用于保存整个WebSession的生命周期,周期内都可以访问的数据,在API表现为ServletContext。2.通过httpServlet的getServletContect方法拿到。3.通过ServletContext的get/setAttribute方法取得/设置相关属性。
JavaBean:java的组件,一系列的类的集合,属性名必须小写,属性一般是private的,一般都有getter,setter
掌握Servlet要点:
①从httpservlet继承
②重写doget/dopost
③在web.xml中配置
④Cookie,Session,Application概念
⑤请求转发
⑥使用javabean
JSP要点:
①JSP语法<% java语句 %>
Declaration:<%!%>,<%%>;声明变量(声明变量有两种方法,加感叹号是全局变量,不加感叹号是局部变量)
Scriptlet:<%程序代码区%>;可以放任何Java代码,循环语句都可以
注释格式:<%--... ... --%>,<%//... ...%>,<%/* ... ...*/>;<%!html注释%><%jsp注释%><%//java注释%>
<%=... ...%>直接输出变量或者表达式
Expression
Comment
Directives:<%@Durectuve属性=“属性值”%>,例子<%page contenType="text/html;charset=gb2312"%>;<%@page import="java.util.*"%>....(import/errprPage/isErrorPage/contentType)
Action动作指令(运行期间):jsp:useBean;jsp:include;jsp:forward;jsp:plugin
内置对象
②JSTL
③JSF
④其他taglib(如struts)
调试bug方法:
①删一段运行一次~~单一变量法。
②把值打印出来,观察法。
③看后台报错,第几行,什么错,直观法。
---------------------------------------------------------2018-1-25更新------------------------------------------------------------------
①新建的web项目没有xml怎么办?--右键项目→java EE tools →generative development..
②我们项目的WEB INF是安全目录,外界不能访问进入,想要访问我们的class,需要在web,xml注册。
③init()方法是单例模式,多次访问网页,只初始化一次。
④servletconfig可以得到xml里面param-name的值。eg:conifg.getinitParamenter("yy").
⑤xml配置技巧:<servlet-class>不含项目名,里面的文件间用"."点号分隔;<url-pattern>不需要写项目名但要带“/”斜杠;访问的时候url需要写"项目名+url-pattern"。
⑥谷歌开发模式post访问可以在network点all查看传递的文件和内容。
⑦get不支持传递中文,一般传过来前先用js编码,传过来再解码。不过Tomact8优化了可以直接传,但一般不会这样做。
⑧<load-on-startup>Tomcat一开始就马上加载(http://blog.csdn.net/xuke6677/article/details/44752207)
⑨方法内部的变量线程安全
⑩work目录存放Jsp生成的servlet类
①浏览器禁用了cookie,可以用把jsession放在url
②相对路径的使用:在html包的css,js,jq文件看清楚相对于html在什么地方。
③同一模块用同一个servlet关键在于需要标记传到后端再跳到不同servlet方法。
④过滤器filter的用法:实现filter接口,在dofilter里面写的代码会在所有类访问之前在接口校验一次,节省代码量。
⑤listener的作用:用于提前处理ServletContext ,ServletContext是所有servlet的父亲,可以影响所有servlet