初识servlet
来源:互联网 发布:上海市网络作家协会 编辑:程序博客网 时间:2024/06/12 20:22
一servlet
1、什么是servlet?
本质就是一个java类,需要继承HttpServlet,一旦继承之后,javaEE一个组件就是servlet
作用可以接收客户端的请求,执行响应的方法,然后响应客户端
2、建好一个servlet,怎么访问servlet,怎么请求?
web程序访问任何页面和资源都是通过url地址来访问,servlet有url地址吗?
http://localhost:8080/项目名/url-partten
3、如果想访问servlet,必须得解决servlet地址里的一部分,url-partten,自己来配置 web.xml
1)
注意:每次修改配置或者java类的内容,都需要重新启动服务器
2)eclipse在我们的servlet类名上面默认给生成了一个url-partten,可以直接使用,使用注解帮我们生成的注解的目的是简化程序员配置的操作
4、访问servlet有几种方式?
1)直接在浏览器的地址里输入servlet的访问url; Get方式
http://localhost:8080/项目名/firstServlet
2)超链接
<a href="/项目名/url-parttn" >连接文本</a>
3)表单访问
form method=get/post 在servlet里获取前台传过来的数据 request.getParameter(参数名) 表单元素的name值,返回的是表单元素的value值
4)js也可以提交
<script type="text/javascript"> function check(){ var userName=document.form1.userName.value; var pwd=document.getElementById("pwd").value; if(userName.length<2){ alert('用户名长度不能少于2位'); }else if(pwd.length<6){ alert('密码长度不能少于6位'); }else{ //提交 document.form1.submit(); } }
二、servlet的具体功能
查询数据的请求→ servlet的功能(接收请求,处理请求,跳转到其他jsp页面)→ jsp页面(显示需要的数据)
1、接收请求里的数据:请求里的数据分成两类,一类叫做请求参数 ,另外一类叫做请求属性
1)请求参数:通过表单提交的表单元素的值,IE地址里 http://localhost:8080/项目名/url-partten?name=zhangsan$pwd=123; 问号后面的数据也是请求参数,=前面的是参数名,后面的是参数值。表单元素的name是参数名,value是参数值。这类数据是服务器自动封装到request请求参数里的。2)请求属性是人为的调用相关方法,把数据封装到请求对象里 获取的是请求参数的值: A、request.getParameter("参数名");获取的是该参数值,返回的是字符串类型 ,一个参数名对应一个值 B、requtst.getParameterValues("参数名");返回的是该name对应的所有的value,是一个字符串数组。获取一个参数名对应多个值,checkBox select
2、servlet跳转到其他的目标资源(jsp或者servlet)
1)响应重定向:response.sendRedirect("Success.jsp");括号里的参数是目标资源相对于servlet的相对路径,servlet相当于在webcontent里特点:跳转的目标页面,会生成一个新请求,不会将当前的请求传递给下一个目标页面,所以当前请求里的数据不会被传递到目标页面里,也可以叫不带参数的转。IE地址会发生变化。Get方式请求,如果的是servlet,目标servlet用doGet来响应 2) 请求转发: request.getRequestDispatcher("Success.jsp").forward(request, response); 特点: 跳转的时候,会将当前的请求转发给目标页面,当然请求里的参数一起被传入到目标页面,没有产生新的请求。也可以叫做带参数的转发 。IE地址不会发生变化。转发语句如果写在doPost方法里,以post方式请求下一个资源,如果资源是servlet,doPost方法响应。如果写在doGet方法里,以get方式请求下一个资源,资源如果是servlet,doGet方法响应。
3、servlet的继承关系
自定义的servlet →HttpServlet →GenericServlet→ servlet ↘ ServletConfig 严格来讲,一个类实现Servlet接口,就已经满足它servlet 自定义的servlet里有很多的方法可以进行覆盖:doGet doPost init():servlet对象被创建之后马上执行 destroy():servlet对象被销毁之前执行
4、servlet 在配置文件里可以配置初始化参数,在servlet里的任何一个方法都可以获取该参数的值
1)怎么配置初始化参数 <servlet> <servlet-name>second</servlet-name> <servlet-class>servlet.SecondServlet</servlet-class> <init-param> <param-name>dbURL</param-name> <param-value>jdbc:oracle:thin:@localhost:1521:orcl</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>second</servlet-name> <url-pattern>/second</url-pattern> </servlet-mapping> 2)servlet里怎么获取该参数的值 String dbUrl=this.getInitParameter("dbURL");
5、servlet的生命周期(指的是servlet从被创建一直到被销毁的过程)
1、服务器启动之后,第一次访问servlet的时候,它被创建,构造方法先执行,马上执行init方法。
2、正常访问servlet请求→service方法 → (方法判断请求方式到底是get还是post)
3、服务器正常关闭,servlet对象被销毁,执行destroy方法
总结:servlet是多线程单实例的。
- 初识Servlet
- 初识servlet
- servlet初识
- 初识Servlet
- 初识Servlet
- 初识Servlet
- 初识Servlet
- Servlet初识
- 初识servlet
- 初识servlet
- 初识servlet
- 初识servlet
- 初识servlet
- Servlet初识
- 初识Servlet
- 初识servlet
- 初识Servlet
- 初识Servlet
- js通过使用Set对象,将多个数组合并且去重排序(ECMAscript 6)
- JAVAWEB开发之Hibernate详解(四)——持久化类的继承映射关系
- LUOGU1445——没占到1444的愤怒 数学
- Java设计模式-单例模式
- Python 设计模式 -- 单例模式
- 初识servlet
- 测试ipv6网络连通性的UDP协议测试代码
- ORA-01552 :非系统表空间 'xxxx'不能使用系统回退段
- 【菜鸟看框架】——Linq实现动态模糊查询
- MyEclipse使用Maven创建web项目+搭建SSM框架
- 实现弹出对话框选择武将
- 001初入C/C++之HelloWorld
- 【PAT甲级】1068. Find More Coins (30)
- Android复习资料1