Ajax笔记

第一个项目 全局刷新并跳转页面

                      jsp页面

         
                 <form action="bmiServlet" method="get">
              姓名:<input  type="text" name="name"><br/>
              体重:<input type="text" name="tz">  <br/>
              身高:<input  type="text" name="sg"> <br>
                  <input   type="submit" value="提高">

            </form>

 

     bmiServlet页面
复制代码
public class BmiServlet extends javax.servlet.http.HttpServlet

String name=req.getParameter("name"); String tz=req.getParameter("tz"); String sg=req.getParameter("sg"); //计算bim float t=Float.valueOf(tz); float s=Float.valueOf(sg); float bmi=t/(s*s); String result=""; if(bmi<18.5){ result="太轻了"; }else if(bmi>18.5&&bmi<=23.9){ result="正常"; }else { result="太胖了"; } result="hello"+bmi+result; System.out.println("进来了"); //把数据存入到reque req.setAttribute("result",result); //转发到新的页面 req.getRequestDispatcher("/result.jsp").forward(req,resp); // 使用HttpServletResponse输出数据 response.setContentType("text/html;charset=utf-8"); // 获取PrintWriter PrintWriter pw = response.getWriter(); // 输出数据 pw.println(msg); // 清空缓存 pw.flush(); // 关闭close pw.close(); }
复制代码

xml配置文件

 <servlet>
            <servlet-name>BmiServlet</servlet-name>
            <servlet-class>controller.BmiServlet</servlet-class>
            </servlet>
    <servlet-mapping>
        <servlet-name>BmiServlet</servlet-name>
        <url-pattern>/bmiServlet</url-pattern>

第二个项目 Ajax局部刷新——根据输入的编号,请求到servlet中,数据库拿到数据,然后更新页面dom,

jsp页面,还有ajax四个步骤

复制代码

  <title>ajax根据省份id获取城市</title>
<script type="text/javascript">

function search(){
//1.创建异步对象
var xmlHttp=new XMLHttpRequest();
//2绑定事件
xmlHttp.onreadystatechange=function(){
if(xmlHttp.readyState==4&&xmlHttp.status==200){
alert(xmlHttp.responseText);
var date= xmlHttp.responseText
//json转对象
var jsonobj=eval("("+date+")");
//修改dom对象
document.getElementById("proname").value=jsonobj.name;
document.getElementById("proshenghui").value=jsonobj.shenghui;
}

}
//3初始请求数据
//获取对象值
var proid=document.getElementById("proid").value;

xmlHttp.open("get","queryCity?proid="+proid,true);
//4发送请求
xmlHttp.send();
}
</script>
</head>
<body>
<h3>梦想</h3>
<table>
<tr>
<td>省份编号</td>
<td><input type="text" id="proid"></td>
<td><input type="button" value="搜索" onclick="search()"></td>
</tr>
<tr>
<td>省份名称</td>
<td><input type="text" id="proname"></td>
</tr>
<tr>
<td>省会</td>
<td><input type="text" id="proshenghui"></td>

</tr>
</table>
 
复制代码

servlet页面

复制代码
 String  proid=req.getParameter("proid");
        System.out.println(proid);
        province province=new province();
        String  json="jackson拿到了";
        if (proid!=null){
            System.out.println("1111111111111111");
            provinceDao dao=new provinceDao();
            try {
                province= dao.queryNameById(Integer.valueOf(proid));
                ObjectMapper om=new ObjectMapper();
                json= om.writeValueAsString(province);
                System.out.println(json);
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        //定义传输的文件格式
       // resp.setContentType("text/html;charset=utf-8");
        resp.setContentType("application/json;charset=utf-8");
        PrintWriter pw=resp.getWriter();
        pw.println(json);
        pw.flush();
        pw.close();


    }
复制代码

dao层拿数据文件

复制代码
 public Connection getConnection() throws SQLException, SQLException {
        ResultSet rs=null;
        PreparedStatement stmt=null;
        java.sql.Driver  driver=new com.mysql.jdbc.Driver();
        DriverManager.registerDriver(driver);
        //2.获取数据库连接
        String url="jdbc:mysql://localhost:3306/JDBC?characterEncoding=utf8";
        String user="root";
        String password="123456";
        Connection conn= (Connection) DriverManager.getConnection(url,user,password);

        return conn;
    }
  public province queryNameById(Integer  id) throws SQLException {
      ResultSet rs = null;
      PreparedStatement stmt = null;
      String name = null;
      Connection conn = this.getConnection();
      String sql = "select  name,shenghui FROM  province where id=?";
      stmt = conn.prepareStatement(sql);
      stmt.setInt(1, id);
      //执行sql
      rs = (ResultSet) stmt.executeQuery();
      province province = new province();
      while (rs.next()) {

          province.setName(rs.getString(1));
          province.setShenghui(rs.getString(2));
       // name = rs.getString(1);
      }
      if (rs != null) {
          rs.close();
      }
      if (stmt != null) {
          stmt.close();
      }
      return province;
  }
复制代码

因为需要多条数据,用到json,需要新建对象,将对象转成json

  

posted @   曾经偏执的少年  阅读(26)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示