学习方式是书籍结合视频。先看书籍,把知识理解了,会使用;然后看视频,知道如何操作,看视频的时候用2-3倍速。
Tomcat
打开:bin/startup.bat 关闭:bin/shutdown.bat 注: Linux系统为:打开:bin/startup.sh 关闭:bin/shutdown.sh
修改端号:conf/server.xml Ctrl+F 查找 8080 注:若端口为 80 ,可以直接用 localhost 访问
访问:http://localhost:8080/ 或者 localhost:8080/
在cmd任意目录下启动Tomcat服务器,直接使用startup打开:
1、需要配置path,在加上path:安装地址---> D:software3apache-tomcat-8.5.40in;
2、新建环境变量: 变量名----> catalina_home 变量值---->D:software3apache-tomcat-8.5.40 //为安装地址
在cmd里直接使用catalina打开:catalina run 停止:catalina stop
建立管理员: conf / tomcat-users.xml
<role rolename="admin-gui"/> <user username="tomcat" password="s3cret" roles="admin-gui"/>
第一个javaWeb项目: apache-tomcat-8.5.40webapps 放在这个文件夹里边
注:需要标准的文件夹结构:
- *.html,*.jsp,etc
- /WEB-INF/web.xml
- /WEB-INF/classes/
- /WEB-INF/lib
注:可以实现打代码保存网站自动更新,不需要把项目复制过去。
基础入门:http://www.cnblogs.com/guogangj/p/3725371.html#create-java-web-project
servlet入门:https://www.cnblogs.com/whgk/p/6399262.html
注:在idea运行后,在链接栏上,自己打上sayhello (这是web.xml 里边映射的servlet的地址)
http://localhost/SayHello/sayhello (sayhello是自己打上去的)
注:@WebServlet(name = "DeleteStudentServlet",urlPatterns = "/DeleteStudentServlet") 使用 @WebServlet注解不用再到web.xml 配置Servlet相关信息
JSP请求的转发和重定向:
转发:浏览器只有一次请求,地址栏不变, 页面为转发后的页面; servlet发送信息到web容器,web容器再进行转发到另一个servlet,所以依旧是这个请求,地址栏不变。
request.getRequestDispatcher("path").foward(request,response)
重定向:浏览器两次请求,地址栏改变,页面为转发后的页面; servlet发送信息到web容器,web容器告诉浏览器要再发一次请求,浏览器发来一个新的请求,地址栏改变。
response.sendRedirect("path")
注:response.sendRedirect(request.getContextPath()+"/comfirm.jsp"); 使用绝对路径
JSP指令: 为JSP引擎而设计的,并不直接产生可见输出,而是告诉引擎如何处理JSP页面中的其余部分
<%@ %> 1.page 2.include 3.taglib 三种指令 : include为静态包含
注: WEB-INF 一般不能使用地址栏直接访问,但是请求转发可以访问到。 将错误页面(隐私文件)放在WEB-INF里面,
注:JSP页面中的内容就两个东西:模块数据 和 元素 (元素有包括脚本,指令,标签)
注:中文乱码问题: 默认使用 ISO-8859-1
第一层:将jsp页面的编码方式和浏览器的编码方式统一:UTF-8
第二层:对POST请求,在回去请求信息之前,调用request.setCharacterEncoding("UTP-8"); 或:response.setContentType("text/html; charset=UTF-8");
对GET请求: 修改Tomcat的 server.xml 文件 useBodyEncodeingForURI="true" 表明使用请求体的编码方式
<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" useBodyEncodeingForURI="true" />,还要再改Tomcat的xml映射;
(或对GET得到的字符串 new String(xxx.getBytes("ISO-8859-1"),"UTF-8");进行解码)
输出页面的乱码和对于传递参数的乱码
MVC设计模式: Model Control View
网上的图片