Get请求与与post请求:
Get不会改变服务器数据,只做查询
Post会对服务器数据做出修改,可评论的网页
火狐的firebug附加组件,可以测试网络
延迟实例化,提供一个set方法,让子类实现赋值
父类引用指向子类实现
Jquery easyUI中文文档
Pojo简单的实体类对象
Json Object和jsonArray不可以直接进行日期转换,List<>可以
Html5删除<!DOCTYPE HTML后的内容>
引入jquery后用$()代替了window.onload、$(‘#dg’)代替了document.getElementById(‘dg’)
META-INF下新建resousecss、imge、js、plugins文件夹
doGe()要取数据的时候用,doPost()不需要取数据时
Int超过最大值,i的32次方+1就溢出,变为0
((对象名)null).静态方法,相当于直接调用静态方法
Union合并数据,但排除重复的数据
Union all合并数据,不做数据重复处理
Java中:静态代码块,构造代码块,普通构造的优先级
父类静态代码块子类静态代码块父类构造代码块子类构造代码块父类普通构造子类普通构造
CGI:通用网关接口(Common Gateway Interface)是一个Web服务器主机提供信息服务的标准接口。通过CGI接口,Web服务器就能够获取客户端提交的信息,转交给服务器端的CGI程序进行处理,最后返回结果给客户端。
组成CGI通信系统的是两部分:一部分是html页面,就是在用户端浏览器上显示的页面。另一部分则是运行在服务器上的CGI程序
CGI 在jsp中 叫Servlet
在服务器中,像html,css,javascript, 图片,文本文件,xml 直接交给浏览器来处理的,除了以上文件以外的信息,都是要交给服务器处理
servlet容器又叫做 servlet引擎
InputStream OutputStream
Servlet引擎:接收用户传过来的数据解析处理响应给用户
I/O流( 二进制数据 )
servlet容器,它里面的每一个servlet小程序都有自己的生命周期
Servlet都有生命周期: public class A extends HttpServlet
初始化 init() 初始化数据
Init(ServletConfig ) 读取本身的servlet配置文件,初始化数据
重点: init方法 只能初始化一次
init方法什么时候初始化?
1)、tomcat启动的时候(你要初始化一些数据,公用的数据)
<servlet>
<servlet-name>唯一名称随便取</servlet-name>
<servlet-class>编写的servlet完整类名</servlet-class>
< init-param>
<param-name>参数名</param-name>
<param-value>值</param-value>
</ init-param>
<init-param>
<param-name>参数名</param-name>
<param-value>值</param-value>
</ init-param>
<load-on-startup>
0-999999数字越小,优先级就越高
</load-on-startup>
</servlet>
2)、当访问servlet时候 (默认的)
你必须要配置url映射
<servlet>
</servlet>
<servlet-mapping>
</servlet-mapping>
jsp九大内置对象,3大指令,7个动作
servlet 九大内置对象
page 页面
pageContext 上下文(全局对象) 在servlet中与 jsp中的application等同效果
request 请求
response 响应
out 输出
session 会话(当前用户,所有页面都可以共用的数据) 一次完整的会话,打开浏览器,输出网址,再新建页,关闭浏览器
application 所有用户,所有页面都可以共用的数据
config 配置信息 (web.xml)
exception 异常
1)、page,request,session,application 取值和赋值
xx.setAttribute("键名", 值); 赋值
Object obj= xx.getAttribute("键名"); 取值 被EL表达式给优化了
${键名}
它的查询顺序就: page-->request-->session-->application -->什么都不显示
${pageScope}-->${requestScope} -->${sessionScope}-->${applicationScope}
scope:作用域
<c:forEach item="${xx}" var="a"> </c:forEach>
2)、pageContext常用方法
pageContext.request.contextPath 取得项目名称
3)、request常用方法
String 值=requet.getParameter("键");
String[] 值=request.getParameterValues("键"); //checkbox复选框、name标签、 text
String ip=reqeust.getRemoteAddr() //取得客户端的ip地址
String url=request.getRequestURI();//取得当前请求的地址,不带参数 /web/test/1.jsp
Enumeration<String> keys=req.getParameterNames(); //得到所有的参数的名称 /web/test/1.jsp?id=1&name=test&te=3
取得的结果是:id,name,te
while(keys.hasMoreElements()){
String k=keys.nextElement();
//做你想的
String value=req.getParameter(k);
}
转发 把数据存放到request的setAtrribute里面,url地址不会发生变化
request.getRequestDispatcher(页面).forward(request,response);
HttpSession session=request.getSession(); //取得会话
SevletContext application=request.getServletContext(); //取得上下文应用
request.setCharaterEncoding("UTF-8"); //设定请求编码
4)、response 响应
response.setCharaterEncoding("UTF-8"); //响应的编码
response.setContextType("text/html;charset=UTF-8"); //响应给浏览器的头文件,告诉浏览器这个是网页,编码格式是UTF-8
response.setContextType("text/xml;charset=UTF-8"); //响应给浏览器的头文件,告诉浏览器这个是xml文件,编码格式是UTF-8
response.setContextType("application/x-download"); //响应给浏览器的头文件,告诉浏览器这个文件,需要你使用自带的文件下载器来处理
response.addHeader("Content-Disposition","attachment;filename=baidu.exe"); PrintWriter out=response.getWriter();
out.print(数据);
out.flush(); //刷新
out.close(); //关闭
重定向 不能推荐request中的数据 但是可以对url地址做一些修改 1.jsp?id=2
response.sendRedirect("页面");
5)、session 会话
session.getId() 会话id 唯一的
session.clear() //清除所有的会话数据
session.removeAttribute(键) ; 根据键清除数据
6)、application 全局应用 上下文
servlet中写法: request.getServletContext().removeAttribute(键);
7)、servlet 生命周期
init() 初始化 只做一次
service() 服务 它会自动的根据请求的类型(GET/POST) 调用doGet()/doPost()方法,
destory() 销毁 只做一次(web容器 关闭时候 )
8)、jsp页面之间传递参数有几种方式?
表单传参
url传参
session传参 <% session.setAttribute("xx",1); %> 另外页面 ${ sessionScope.xx }
request传参
数据库
9)、不用<servlet> 2.5 配置了, servlet 3.0,用注解配置
@WebServlet(value={"/search.do" , "/show.do" })
public class MyServlet extends HttpServlet{
}
以前
web.xml
<servlet>
<servlet-name>xx</servlet-name>
<servlet-class>xxxxx.xxxx.xxx</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>xx</servlet-name>
<url-pattern>/search.do</url-pattern>
<url-pattern>/show.do</url-pattern>
</servlet-mapping>
找到maven Repository仓库:
百度搜索-->maven repository-->http://mvnrepository.com/官网-->点击主页右上角Indexed Repositories (244)-->找到maven点击Central-->http://central.Maven.org/maven2/
-->进入maven仓库
编码过滤器:
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class EncodingFilter implements Filter {
private String encoding = "UTF-8";
public void init(FilterConfig config) throws ServletException {
if (config.getInitParameter("encoding") != null) {
encoding = config.getInitParameter("encoding").trim();
}
}
public void doFilter(ServletRequest req, ServletResponse resp,
FilterChain chain) throws IOException, ServletException {
// 设定所有请求的编码
req.setCharacterEncoding(this.encoding);
resp.setCharacterEncoding(this.encoding);
resp.setContentType("text/html;charset=" + this.encoding);
//放行
chain.doFilter(req, resp);
}
// tomcat停止就被销毁
public void destroy() {
}
}
编码过滤器web.xml配置:
<filter>
<filter-name>EncodingFilter</filter-name>
<filter-class>com.wisezone.web.filter.EncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
jsp页面日期格式:
导入%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %
格式日期<fmt:formatDate value="${s.mes_date }" pattern="yyyy-MM-dd"/>
环境变量配置:鼠标右键点击计算机-->属性-->更改设置-->高级-->环境变量系统变量
Jdk配置:
变量1 名字:JAVA_HOME 值:找到安装的jdk的路径
变量2 名字:path 值: .; %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
变量3 名字:CLASSPATH值: %JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
Tomcat配置:
变量1 名字: CATALINA_BASE 值:找到安装的tomcat的路径
变量2 名字:path 值: .; %CATALINA_HOME%\lib;%CATALINA_HOME%\bin
变量3 名字: CATALINA_HOME值: 找到安装的tomcat的路径
Mawen配置:
变量1 名字: MAVEN_HOME 值:找到安装的maven的路径
变量2 名字:path 值: .; %MAVEN_HOME%\bin
使用maven
Eclipse中
安装helpEclipse marketplace.. find中搜索maven选中图标为m2e的软件install为uninstall表示已经装过了
配置
配置准备:
在一个比较大的硬盘中新建一个文件夹mavenpository/pository
安装路径下找到config/settings.xml并配置
<mirrors>中添加
<!--阿里云提供仓库 -->
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<!--国外官网 -->
<mirror>
<id>mavencentral</id>
<name>central maven</name>
<url>http://central.maven.org/maven2/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<localRepository>后添加
<localRepository>E:\mvnrepository\repository</localRepository>
Eclipsewindowsprefeencesmaveninstallationsadd输入安装maven路径点击Directory应用
Eclipsewindowsprefeences User setting勾选添加的maven文件中选中config/settings.xml
创建maven
Newothermavenmaven project勾选create a simple project下一步填写groupe Id、artiface Id、version、pakaging选war、name等有父级项目的填写对应信息
项目创建好后点开pom.xml文件添加内容
<!-- 引用mysql,等项目要用到jar包 -->
<dependencies>
<!-- https://mvnrepository.com/artifact/com.oracle/classes12 -->
<dependency>
<groupId>com.oracle</groupId>
<artifactId>classes12</artifactId>
<version>10.2.0.2.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.servlet.jsp.jstl/jstl -->
<dependency>
<groupId>javax.servlet.jsp.jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
</dependencies>
<!-- 构造 编译项目,使用 jdk 1.8的环境 -->
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.2</version>
<configuration>
<target>1.8</target>
<source>1.8</source>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
然后将Oracle数据库的jar包复制到D:\mvnrepository\repository\com\oracle
\classes12\10.2.0.2.0中并把文件名改成classes12-10.2.0.2.0.jar
来源:https://www.cnblogs.com/by-1642146903/p/7860247.html