作者:爱你不愿放cwy | 来源:互联网 | 2023-06-19 13:27
一、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 {
}
}
四、结果
![](https://img8.php1.cn/3cdc5/12b31/807/5e43226239af0b59.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5aSn54yq6IW_5a2QeQ==,size_15,color_FFFFFF,t_70,g_se,x_16)
五、图
![](https://img8.php1.cn/3cdc5/12b31/807/155a38372b0981a7.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5aSn54yq6IW_5a2QeQ==,size_20,color_FFFFFF,t_70,g_se,x_16)
六、
请求转发
概述
请求转发是服务器内部资源的一种跳转方式,即当浏览器发送请求访问服务器中的某一个资源时,该资源将请求转交给另外一个资源进行处理的过程,就叫做请求转发,具有以下特点:
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("唯快不破");
}
}
重定向
![](https://img8.php1.cn/3cdc5/12b31/807/981f1ea9645b6327.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAY2dibHB4,size_20,color_FFFFFF,t_70,g_se,x_16)
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博客