注册 Servelt
两种方法
1、在web.xml中手动部署(如下所示)
<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>com.Servlets.HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/com.Servlets/HelloWorld</url-pattern>
</servlet-mapping>
2、使用注释
@WebServlet("以/开头的名字")
Servlet 的生命周期
基本框架
package com.Servlets;
import java.io.IOException;
import java.io.PrintWriter;
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 HelloWorld
*/
@WebServlet("/HelloWorld")
public class HelloWorld extends HttpServlet {
private static final long serialVersionUID = 1L;
private String message;
/**
* @see HttpServlet#HttpServlet()
*/
public HelloWorld() {
super();
// TODO Auto-generated constructor stub
}
public void init(){
message = "Hello World";
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.setContentType("text/html");
request.setCharacterEncoding("utf-8");//防止接收乱码
response.setCharacterEncoding("utf-8");//防止输出乱码
PrintWriter out = response.getWriter();//生成PrintWriter 转发页面乱码
out.println("<h1>"+message+"</h1>");
}
/**
* @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);
}
public void destroy() {
}
}
使用 Servlet 读取表单数据
Servlet 处理表单数据,这些数据会根据不同的情况使用不同的方法自动解析:
- getParameter():您可以调用 request.getParameter() 方法来获取表单参数的值。
- getParameterValues():如果参数出现一次以上,则调用该方法,并返回多个值,例如复选框。
- getParameterNames():如果您想要得到当前请求中的所有参数的完整列表,则调用该方法。
Servlet 常用对象
request
转发器
RequestDispatcher requestDispatcher=request.getRequestDispatcher("success.html"); // 转发请求
requestDispatcher.forward(request, response);
常用方法
response
Session
ServletContext
JSP 与Servlet 之间的调用
Servlet中SmartUpload的使用
SmartUpload使用和简介
JspSmart文件上传与下载
在Servlet中需要使用另一个initialize()方法,传递三个参数,分别为ServletConfig, request和response
request和response可以直接在servlet中取得,ServletConfig通过this.getServletConfig可以取得.
所以改成
smartupload.initialize(this.getServletConfig(),request,response);
将工程部署到tomcat
Cookie
参考
首先cookie是EL表达式的内置对象可以直接拿来使用
${cookie.name}将获得对应cookie的对象,比如我们用jsp将一段cookie发送给客户端。
Cookie cookie = new Cookie(“username”, “Username in cookie”);
response.addCookie(cookie);
创建一个名称为username,值为"Username in cookie"的Cookie对象,然后发送给客户端。
然后我们就可以使用 {cookie.username.name}获得cookie名称–“username”,${cookie.username.value}获得cookie值–“Username in cookie”。
转载:https://blog.csdn.net/qq_43408238/article/details/105946160
查看评论