标签:xml function obj 复习 request 周末 var response
AJAX复习
AJAX不是新的编程语言,而是一种使用现有标准的新技术。AJAX是在不重新加载整个页面的情况下,与服务器交换数据并异步更新部分网页的艺术。
index.jsp
<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<% String path = request.getContextPath(); %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
The time is:<span id ="dt"></span><br/>
<input type = "button" value = "刷新时间" οnclick="shua();"/>
<script type="text/javascript">
function hello(){
alert("hello world!");
}
function shua(){
//可以发送页面请求,可以接收服务器响应
var obj = new XMLHttpRequest();
obj.onreadystatechange = function(){
//是否已经加载完毕
var isLast = (obj.readyState==4);
//服务器是否响应成功
var isSuccess = (obj.status==200||obj.status==304);
//当服务器相应成功,页面加载成功后
if(isLast&&isSuccess){
//获取响应器响应文本
var date = obj.responseText;
//获取标签对象
var text = document.getElementById("dt");
//给标签对象赋值
text.innerHTML=date;
}
}
//告诉页面要去哪里访问
obj.open("get","<%=path%>/date.jsp");
//开始去所想去页面(同时会传递参数)
obj.send(null);
}
</script>
</body>
</html>
重点:
- 首先定义一个变量: var obj = new XMLHttpRequest();
- 该对象的状态发生改变则执行函数操作: obj.onreadystatechange() = function(){} 注意:onreadystatechange全部都是小写
- isLast(当前页面是否加载完毕) obj.readyState==4
- isSuccess(服务器是否响应成功)obj.status == 200||obj.status ==304
- 接收服务器响应发送来的数据:obj.responseText;
- 告诉页面发送的位置:obj.send(“get 或者post”,”发送服务器的地址“)
- 开始发送,同时把要传递的参数写入 obj.send(null);
Ajax工具类复习
register.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<% String path = request.getContextPath();
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript" src = "<%=path%>/js/ajax.js"></script>
</head>
<body>
用户名:<input type="text" id ="user"/>
<input type = "button" value = "检测用" id = "bt" onclick = "jiance();"/>
<script type ="text/javascript">
function jiance(){
ajaxGet("<%=path%>/userTest","user="+document.getElementById("user").value,function(sc){alert(sc);});
}
</script>
</body>
</html>
userTest.java
package demo;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class userTest
*/
@WebServlet("/userTest")
public class userTest extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public userTest() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
String userName = request.getParameter("user");
System.out.println("检测用户名:"+userName);
if("liu".equals(userName)) {
response.getWriter().print("存在该用户");
return;
}else {
response.getWriter().print("不存在该用户");
return;
}
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
ajax.js
function ajaxGet(url,param,callSuc,callErr){
var obj = new XMLHttpRequest();
obj.onreadystatechange = function(){
var isLast = (obj.readyState == 4);
var isSuccess = (obj.status==200||obj.status == 304);
if(isLast){
if(isSuccess){
var result = obj.responseText;
if(callSuc) callSuc(result);
else{
if(callErr) callErr(obj.status);
}
}
}
}
obj.open("get",url+"?"+param);
obj.send(null);
}
重点:
- 对AJAX进行抽象封装,使它成为一个具有一定规范的方法
- register页面->ajax.js->userTest->返回的数据交给ajaxGet()方法进行处理
- ajaxGet(url,param,callSuc);
- 使用时候现写callSuc
Maven
项目配置文件:pom.xml,在文件中描述需要哪些jar,可以自动联网更新,
我们只需要描述一下,需要用到什么组件,就可以自动获得这些jar包,及其依赖。Maven是一个独立的程序,可以不依赖Eclipse,是基于命令行的软件。
会根据pom.xml文件寻找jar包及其依赖包,会连接到网络仓库进行下载,把下载的jar包存到本地,
涉及到两个概念:远程仓库,本地仓库(默认在用户目录下的.m2/repository)。
Maven会先加载本地仓库,如果仓库中不存在这个包,则会联网更新。Maven本身的配置文件:settings.xml
普通javeweb项目src下的文件都会发布到:WEB-INF\classes
src/main : 主目录,所有资源都在这里
src/main/java : Source目录,编写JAVA代码
src/main/resource : 资源目录,通常放各种配置文件
src/main/webapp : 相当于WebRoot或WebContent注意:
java目录下的.java文件会经过编译后发布到classes,
resource目录下的文件会直接copy到classes。项目右键:
Deployment Assembly : 依赖关联,项目中的东西最终发布到哪里。
Project Facets : 项目的状态面板,java版本、Web版本、Runtime、是否web项目
部署本地仓库
打开Eclipse perference-> userSetting->配置成自己的setting.xml路径后 update一下
配置阿里云中央仓库
找到自己setting.xml文件后更改 mirrors->变成阿里云仓库标签
配置maven-compiler-plugin插件
直接网上搜常用配置代码
创建MavenWeb项目,使用Tomcat插件
创建一个简单的Maven项目,会报缺少web.xml的错误提示,这个时候要新建一个WEB-INF文件夹里面放一个web.xml
使用Tomcat插件需要查找tomcat7-maven-plugin,从网上找它的一般配置即可
引入ServvletAPI依赖并调试启动
如何运行项目?
- run->MavenBuild 输入命令:tomcat7:run
如何引入ServletAPI依赖?
- 在百度上搜索mvn
- 进入网页,搜索Servlet
- 复制到pom.xml中
Maven属性配置
本地仓库与在线更新
都是对应于本地文件夹及相互的关系
标签:xml,function,obj,复习,request,周末,var,response 来源: https://blog.csdn.net/qq_42330798/article/details/100710314
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。