圣思园JavaWeb随手笔记



1、
html(超文本标记语言)(HyperTextMarkupLanguage)(.html/.htm)
<html>
 <head>
  <title></title>
 </head>
 <body>
  <p></p>
 </body>
</html>
常用标签:hx/p/a/img/(table/tr/td)/(form/input/type/)
浏览器内核:webkit(高速)/trident(兼容)(IE)/Chrom/FireFox/IE
2、
css(层叠式样式表)(.css)
浏览器默认/外部样式表/内嵌样式表/行内样式表
selector{property:value}
<link rel="stylesheet" type="text/css" href="css.css">
.class/#id
<style type="text/css"></style>
3、
http(超文本传输协议)(HyperTextTransferProtocol)
http1.0/http1.1
http是一个基于请求/响应模式的无状态的协议(Request/ResponseBasedStatelessProtocol)
4、
URL/http:host[:port][abs_path]/DNS
GET/POST
1指示信息/2响应成功/3重定向/4客户端错误/5服务器错误
5、
telnet
tcp/udp
tomcat
6、
MyEclipse+Tomcat+MySql
New-WebProject-ProjectName-Finish
server.xml <Host><Context path="/test" docBase="d:\test\WebRoot" reloadable="true"/></Host>
http://localhost:8080/test/index.jsp
7、
test(src/WebRoot(WEB-INF(lib/web.xml)/index.jsp))
test(META-INF(MANIFEST.MF)/WEB-INF(classes/lib/web.xml)/index.jsp)
javax.servlet(Servlet/GenericServlet)
javax.servlet.http(HttpServlet)
Servlet(in)-GenericServlet(ac)-HttpServlet(ac)
init()/service()(doGet()/doPost())/destroy()
新建Servlet:
resp.setContentType("text/html");
PrintWriter out = resp.getWriter();
out.println("<h1>HelloWorld</h1>");
out.flush();
web.xml
<servlet>
 <servlet-name>HelloWorld</servlet-name>
 <servlet-class>HelloWorldServlet</servlet-class>
</servlet>
<servlet-mapping>
 <servlet-name>HelloWorld</servlet-name>
 <url-pattern>/HelloWorld</url-pattern>
</servlet-mapping>
8、
表达式:<%= new java.date().toString() %>
Servlet:嵌套了html代码的java类
Jsp:嵌套了java代码的html页面
String value = request.getParameter("key");
9、
GET/通过URL
POST/通过FORM
"/"相当于"http://localhost:8080/"
10、
JSP(JavaServerPages)
11、
代码片段:<%%>
Random random = new Random();
int x = random.nextInt(33) + 1;
12、
JSP(JavaServerPages)(.jsp)
<% %>
<%@ page language="java" import="java.util.*"pageEncoding="UTF-8"%>
jsp本质上也是servlet
*.jsp-*.java-*.class
13、
指令标签(page/include/taglib):<%@ page import="java.io.*"%><%@ include file="" %>
脚本标签(局部变量):<% %>
动作标签:<jsp:forward page=""><jsp:include page="">
注释标签:<%-- -->
声明标签(成员变量):<%! %>
表达式标签:<%= %>
14、
HttpServletRequest
HttpServletResponse
静态包含:<%@ include file="" %>
动态包含:<jsp:include>
标签:<%@ taglib uri="" prefix="" %>
15、
JSP内置对象(9):request/response/session/out/application/page/pageContext/config/exception
request(ServletRequest):getParameter()/getParameterNames()/getParameterValues()
16、
session(HttpSession):session.setAttribute()/session.getAttribute()
17、
httpwatch
request是请求范围/session是会话范围/application是应用范围
18、
application:setAttribute()/getAttribute()
请求转发(一个请求):
<jsp:forward page=""></jsp:forward>

RequestDispatcher rd = req.getRequestDispatcher("test.jsp");
rd.forward(req, resp);
19、
application.getServerInfo();
application.getResource("");
application.getMajorVersion();
application.getMinorVersion();
application.getRealPath("");
<input type="hidden" name="abc" value="123">
20、
Get/Post本质区别:传递参数存放位置不一样
重定向(两个请求):resp.sendRedirect("test.jsp");
"/"="http://localhost:8080/"
21、
请求转发:一个请求
重定向:两个请求
22、
request/session/application
setAttribute("", "")/getAttribute("")
JavaScript(.js)
<script type="text/javascript"></script>
function validate(var v){return true;}
var username = document.getElementById("username");
var x = username.value;
var l = username.value.length;
<form onsubmit="return validate()"></form>
23、
MVC设计模式(ModelViewController)
JavaBean(两种:有UI的和无UI的)
24、
JavaBean是一个特殊的Java类:
a、JavaBean是一个public类
b、JavaBean有一个无参构造方法
c、JavaBean有N对getter/setter方法
访问JavaBean步骤:
导入JavaBean类:<%@ page import=""%>
声明JavaBean对象:<jsp:useBean id="myBean" class="mypack.TestBean" scope="page/request/session/application"/>
访问JavaBean属性:<jsp:getProperty name="myBean" property="count"/><jsp:setProperty name="myBean" property="count" value="2"/>
25、
scope="page(default)/request/session/application"
26、
CounterBean b = request.getAttribute("myBean");
CounterBean b = session.getAttribute("myBean");
27、
<select name=""><option value="">选项</option></select>
28、
iso-8859-1
utf-8
req.setCharacterEncoding("utf-8");
String s = new String(ss.getBytes("iso-8859-1"), "utf-8"); 
Servlet是和平台无关的服务器端组件
javax.servlet/javax.servlet.http
Servlet的生命周期:
init()/service()/destroy()
29、
Servlet/GenericServlet/HttpServlet
30、
javax.servlet/javax.servlet.http
Servlet(Interface)-GenericServlet(AbstractClass)-HttpServlet(AbstractClass)
init()/service()(doGet()/doPost())/destroy()
ServletRequest/ServletResponse
HttpServletRequest/HttpServletResponse
Servlet容器装载Servlet
31、
类图
init()只在Servlet容器装载后调用一次
<load-on-startup>启动自加载
32、
当Servlet容器启动Web应用时为每个Web应用创建惟一的ServletContext对象
Servlet/Jsp默认是以多线程模式执行的
33、
Impossible/I'mpossible
如果是Servlet的成员变量且有写操作则会引起数据不一致
局部变量不会引起多线程问题
要想多线程:局部变量(推荐)/synchronized
Cookie(Key/Value)
写入Cookie:
Cookie cookie = new Cookie("key", "value");
response.addCookie(cookie);
得到Cookie:
Cookie[] cookies = request.getCookies();
34、
HttpServletRequest对象由Servlet容器负责创建
getParameter("");
setAttribute("", "");/getAttribute("");
Session(HttpSession)
35、
session
getId();/invalidate();/isNew();/

未完待续






你可能感兴趣的:(J2EE,javaweb,圣思园)