热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

笔记111(代码可优化)

前后端大整合!!

一、Hbulidx



    
        
        
        
    
    
        
            

提交部门数据


            

部门:


            

名称:


            

地址:


            
        
    

二、idea

package cn.tedu.servlet;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet("/ServletDemo6")
public class ServletDemo6 extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
String deptno = request.getParameter("deptno");
String dname = request.getParameter("dname");
String loc = request.getParameter("loc");
System.out.println(deptno+dname+loc);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
}

三、jdbc

package cn.tedu.servlet;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
@WebServlet("/ServletDemo6")
public class ServletDemo6 extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
try {
request.setCharacterEncoding("utf-8");
String deptno = request.getParameter("deptno");
String dname = request.getParameter("dname");
String loc = request.getParameter("loc");
System.out.println(deptno+dname+loc);
//获取驱动
//获取连接
//获取传输器
//执行sql
//关闭资源
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/cgb2109?characterEncoding=utf-8";
Connection c = DriverManager.getConnection(url, "root", "root");
String sql = "insert into dept values(?,?,?)";//sql骨架 ?是占位符
PreparedStatement p = c.prepareStatement(sql);
p.setObject(1, deptno);
p.setObject(2, dname);
p.setObject(3, loc);
p.executeUpdate();
p.close();
c.close();
} catch (Exception e) {
//System.out.println("输入失败,请检查数据");
e.printStackTrace();//打印报错信息
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
}

四、结果




五、图

六、

请求转发
概述
请求转发是服务器内部资源的一种跳转方式,即当浏览器发送请求访问服务器中的某一个资源时,该资源将请求转交给另外一个资源进行处理的过程,就叫做请求转发,具有以下特点:
1,请求转发整个过程是一次请求、一次响应
2,请求转发前后,浏览器地址栏地址不会发生变化(浏览器–访问–>A–转发–>B,地址栏地址始终指向A的地址)
3,请求转发前后的request对象是同一个
4,转发前后的两个资源必须属于同一个Web应用,否则将无法进行转发
5,使用代码: request.getRequestDispatcher(访问目的资源的路径).forward(request,response);
6,也可以使用 setAttribute()/getAttribute()来验证
————————————————
servlet 1

package cn.tedu.servlet;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet("/servleta")
public class Servleta extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
//要求两个资源互相调用 但是两个资源必须在同一项目中 本质是服务器的业务浏览器发现不了
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("aservlet被调用");
request.setAttribute("name","jack");
request.getRequestDispatcher
("/Servletb").forward(request,response);
}
}

sevlet 2

package cn.tedu.servlet;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet("/Servletb")
public class Servletb extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("b servlet被执行");
Object date=request.getAttribute("name");
System.out.println(date);
}
}

测试响应(响应在浏览器上)

package cn.tedu.servlet;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
//测试响应
@WebServlet("/ResponseServlet")
public class ResponseServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//测试java给浏览器响应
response.setContentType("text/html;charset=utf-8");//中文乱码 固定写法
//获取一个写出流
PrintWriter out = response.getWriter();//print输出可以换行
//直接写到浏览器
out.write("helloServlet");
out.write("天下武功");
out.write("唯快不破");
}
}

重定向

1.整个过程会有两个请求 两个回应

2.地址栏会发生变化

response.sendRedirect(对方的访问方式) 谁都行

package cn.tedu.servlet;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet("/AAServlet")
public class AAServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
//面试题:重定向和请求转发的区别???
// //1,请求转发是请求request的功能,全程1次请求1次响应,地址栏不变
// //request.getRequestDispather("目标访问的方式").forward(请求,响应)
// //2,重定向是response的功能,全程2次请求2次响应,地址栏改变
// //response.sendRedirect("目标访问的方式")
//————————————————
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.sendRedirect("http://www.baidu.com/");
}
}

更详细、原链接:cgb2109-day17_cgblpx的博客-CSDN博客


推荐阅读
author-avatar
爱你不愿放cwy
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有