这段时间趁着教学课程进度,又重新看了一遍J2EE基础,重新学习了servlet开发,又有了新的理解。
myeclipse 这款IDE作为开发工具确实省了很大力气,但越来越发现一些代码内部的机制自己并不是很了解,随着编码量的增加越来越感觉到这些基础的东西是很重要的,对技术的追求也从一开始的了解最前沿的技术,到慢慢想了解技术的同时更多的了解他们的内在基础。
Servlet是一种独立于平台和协议的服务器端java应用程序 ,那也就意味着Servlet只能在服务器端运行,这就是为什么创建servlet只能出现在java WEB项目中。
public class LoginServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest arg0, HttpServletResponse arg1)
throws ServletException, IOException {
System.out.println("继承httpServletrequest");
super.service(arg0, arg1);
}
@Override
public void service(ServletRequest arg0, ServletResponse arg1)
throws ServletException, IOException {
System.out.println("继承servletRequest");
super.service(arg0, arg1);
}
private static final long serialVersionUID = 1L;
public void destroy() {
System.out.println("destroy");
}
public LoginServlet() {
System.out.println("constructor");
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("doGet");
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("doPost");
}
public void init() throws ServletException {
System.out.println("init");
}
}
这个servlet包含构造函数,初始化函数,service(),doPost(),doGet(),以及destroy();函数,可以在其内部添加输出函数,观察其先后执行顺序
依次是构造方法,init()方法,【javax.servlet.ServletResponse】中的service方法,然后是httpservlet中的service方法,最后是doGet方法
web.xml中
questionBanks
banks
LoginServlet
servlets.LoginServlet
a a1
LoginServlet
/LoginServlet
每一个对应一个前者指明以及servlet类的位置,后者以匹配前者的name从而找到对应的class
init-param用于将类中的对应的变量进行初始化
它是内的元素,它的作用是初始化对应的servlet内的一个参数的值,每个参数用一个init-param标记
【重读servlet】
推荐阅读
- Java|Java基础——数组
- 人工智能|干货!人体姿态估计与运动预测
- java简介|Java是什么(Java能用来干什么?)
- Java|规范的打印日志
- Linux|109 个实用 shell 脚本
- 程序员|【高级Java架构师系统学习】毕业一年萌新的Java大厂面经,最新整理
- Spring注解驱动第十讲--@Autowired使用
- SqlServer|sql server的UPDLOCK、HOLDLOCK试验
- jvm|【JVM】JVM08(java内存模型解析[JMM])
- 技术|为参加2021年蓝桥杯Java软件开发大学B组细心整理常见基础知识、搜索和常用算法解析例题(持续更新...)