package com.test.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.annotation.Resource;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class FirstServlet extends HttpServlet {
@Resource(name="test")
private String Test;
private @Resource(name="testTwo") String TestTwo;
public FirstServlet() {
super();
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//请求为Get则调用这个方法,客户端浏览器发送一次请求,其中包含的所有信息都包含在了HttpServletRequest对象中,可以使用如request.getRemoteAddr()等方式获得信息
String localAddr = request.getLocalAddr();
System.out.println("test");//控制台输出test
System.out.println(localAddr);//测试可以从request中获得需要的信息
String test = this.getInitParameter("test");//获得配置文件中的参数
String test2 = this.getServletConfig().getInitParameter("test");
System.out.println(test);
System.out.println(test2);
String testTwo = this.getServletConfig().getServletContext().getInitParameter("testTwo");
//资源注射,这里使用一个注解来注明一个变量,Tomcat启动时会主动把配置的信息注射进去,和Spring的IOC容器特性类似,这样就有三种获得资源的方式了。在配置文件中,使用env-entry标签。
System.out.println(TestTwo);
System.out.println(Test);
}
@Override
protected long getLastModified(HttpServletRequest req) {
return super.getLastModified(req);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//请求为POST则调用这个方法,服务器对客户端的相应被封装在了HttpServlet对象中,可以使用这个对象获得一个PrintWriter对象,该对象为OutputStream子对象。
PrintWriter out = response.getWriter();
out.print("test");
}
}
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<context-param>
<param-name>test</param-name>
<param-value>testContext</param-value>
</context-param>
<env-entry>
<env-entry-name>test</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type><!-- 必须三个属性都配置,不然出错 -->
<env-entry-value>Two</env-entry-value>
</env-entry>
<env-entry>
<env-entry-name>testTwo</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>Two</env-entry-value>
</env-entry>
<servlet>
<servlet-name>FirstServlet</servlet-name><!-- 配置Servlet名和类,与下面的mapping想对应 -->
<servlet-class>com.test.servlet.FirstServlet</servlet-class>
<init-param>
<param-name>test</param-name>
<param-value>value</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>FirstServlet</servlet-name>
<url-pattern>/servlet/FirstServlet</url-pattern>
</servlet-mapping>
</web-app>
转载请注明原文地址: https://ju.6miu.com/read-12885.html