JavaWeb学习笔记(3)
JavaWeb自学(3)
1、ServletContext应用
url
jdbc:mysql://localhost:3306/mybatis
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
ServletContext context = this.getServletContext();
String url = context.getInitParameter("url");
resp.getWriter().print(url);
}
gp
top.gujiakai.servlet.ServletDemo01
gp
/gp
sd4
top.gujiakai.servlet.ServletDemo04
sd4
/sd4
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
ServletContext context = this.getServletContext();
System.out.println("进入了ServletDemo04");
context.getRequestDispatcher("/gp").forward(req,resp);//转发的请求路径,调用forward()方法实现请求转发。
}
username=rootasc;asdlkcopdsc
password=123456aslkasjoasjc
InputStream is = this.getServletContext().getResourceAsStream("/WEB-INF/classes/top/gujiakai/servlet/aa.properties");
Properties prop = new Properties();
prop.load(is);
String username = prop.getProperty("username");
String password = prop.getProperty("password");
resp.getWriter().print(username+":"+password);
2、Response下载文件
FileServlet.java
package top.gujiakai.servlet;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.FileInputStream;
import java.io.IOException;
import java.net.URLEncoder;
/**
* Author: Gu Jiakai
* Date: 2021/9/24 19:12
* FileName: FileServlet
* Description:
*/
public class FileServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String realPath = "D:\\project\\Java\\response\\src\\main\\resources\\蔡伟.jpg";
System.out.println("下载文件的路径:"+realPath);
String fileName = realPath.substring(realPath.lastIndexOf("\\") + 1);
resp.setHeader("Content-Disposition","attachment;filename="+ URLEncoder.encode(fileName,"UTF-8"));
FileInputStream in = new FileInputStream(realPath);
int len=0;
byte[] buffer= new byte[1024];
ServletOutputStream out = resp.getOutputStream();
while((len= in.read(buffer))>0){
out.write(buffer,0,len);
}
in.close();
out.close();
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
}
}
web.xml
<?xml version="1.0" encoding="UTF-8"?>
filedown
top.gujiakai.servlet.FileServlet
filedown
/down
3、Response验证码实现
......
4、Response重定向
RequestTest.java
package top.gujiakai.servlet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
* Author: Gu Jiakai
* Date: 2021/9/27 18:15
* FileName: RequestTest
* Description:
*/
public class RequestTest extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// System.out.println("进入这个请求了!");
//处理请求。
String username = req.getParameter("username");
String password = req.getParameter("password");
//重定向时候一定要注意,路径问题,否则404。
System.out.println(username+":"+password);
resp.sendRedirect("/r/success.jsp");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doPost(req, resp);
}
}
index.jsp
Hello World!
<%--这里提交的路径,需要寻找到项目的路径--%>
<%--${pageContext.request.contextPath}代表当前项目--%>
success.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
Title
Success
5、Request应用
package top.gujiakai.servlet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Arrays;
/**
* Author: Gu Jiakai
* Date: 2021/9/28 17:27
* FileName: LoginServlet
* Description:
*/
public class LoginServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doGet(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("utf-8");
resp.setCharacterEncoding("utf-8");
String username = req.getParameter("username");
String password = req.getParameter("password");
String[] hobbies = req.getParameterValues("hobbies");
System.out.println("==================================");
// 后台接收中文乱码问题。
System.out.println(username);
System.out.println(password);
System.out.println(Arrays.toString(hobbies));
System.out.println("==================================");
//通过请求转发
// 这里的/代表当前的web应用
req.getRequestDispatcher("/success.jsp").forward(req,resp);
}
}