1 常见问题
问题1:
layui表单中加上disable后无法获取值
原因:
在HTML页面的某元素加入了disable属性,那么这个元素只能显示给用户,当表单提交时这个元素不会提交给后台处理,所以当元素加了disable属性后后台无法获取到这个属性的值。
解决方法:
- 再写一个隐藏属性,一个用于显示,一个用于传值
- 把disable换成readonly
问题2
如果在继承该servelet时,报错提示找不到该servelet,去tomcat的lib目录下将servelet-api.jar放入WEB-INF的lib目录中。
2 servlet概念
在jsp中写的Java代码是如何执行的?
Java代码需要先编译成字节码文件,再执行
先翻译(将jsp翻译成Java文件[servelet]),再对Java文件进行编译,再执行
Servelet
GenericServlet 抽象类
HttpServlet的方法:
方法名 | 作用 |
---|---|
destroy() | servelet销毁 |
init() | servelet初始化 |
getServeletInfo() | 获取servelet相关的信息 |
getServeletConfig() | 换取servelet相关的配置信息 |
service | 处理请求和响应信息 |
getServeletContext() | 获取servelet的上下文对象 类似于 jsp中的application |
doGet() | 对应get请求 |
doPost | 对应post请求 |
总结
servelet可以处理web应用中的请求和响应,想要使用的话,就需要继承HttpServelet,通常的请求都是使用doGet。
ServeletConfig 接口,都是servelet相关的配置信息。
servelet的生命周期
初始化 init(一次)
执行service(多次)
销毁destroy(一次)
servelet的xml配置
<servlet>
<servlet-name>MyServlet</servlet-name>
<!--指定servelet所在的地址 包名+类名-->
<servlet-class>cn.yunhe.servlet.Myservlet</servlet-class>
<!--指定servelet随着Tomcat容器的启动从而启动,值越小启动顺序越靠前-->
<load-on-startup>5</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/myservlet</url-pattern>
</servlet-mapping>