Java Servlet(数据传输 页面跳转 jsp)
来源:互联网 发布:铁路数据服务平台 编辑:程序博客网 时间:2024/05/16 04:03
Servlet:
运行在Servlet容器中,有意服务器解析运行。
实现方式三种:继承HttpServlet
Web.xml文件配置Servlet(实现路径的解析,找到对应的类)
<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>com.itheima.servlet.HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/servlet/hello</url-pattern>
</servlet-mapping>
三种Servlet实现方式
javax.servlet.Servlet 接口(定义了所有的Servlet)
javax.servlet.GenericServlet(与协议无关的Servlet)
javax.servlet.http.HttpServlet(Http协议下的Servlet)
创建一个Servlet步骤:
1.创建
2.重写
3.配置Web.xm
生命周期:
1.创建Servlet,并调用init方法
2.通过Service方法方法来处理请求
3.destory来销毁Servlet
当我们创建一个Servlet时,第一次访问,会创建Servlet对象,并调用init方法,init方法只调用一次。
开启一个线程来调用Service方法
当下一次访问又开启一个线程来调用Service方法
Servlet对象一般只创建一次,常驻内存
当服务停止或Servlet对象销毁时调用destory方法。
根据请求的的url,在Web.xml文件中查找到具体的Servlet,会默认调用Service。
对与我们来说,它在HttpServlet中对Service方法进行了重写,执行其内容。
在HttpServlet中对Service方法中,会根据不同的请求调用不同的方法。
部署:
将myeclipse下的所有WebRoot的内容部署到tomcat的webapps下,
src下的的内容会部署到tomcat工程下的classes目录下。
路径问题:
浏览器访问服务器几种方式:
1.浏览器地址栏输入(可以直接访问页面JSP)
2.超链接
3.表单
4.JavaScript
ServletContext代表一个Web应用,
每一个Servlet具有自己的servletConfig对象
ServletContext它相当于是一个Web应用,每一个Web应用具有一个ServletContext对象,ServletContext可以被同一个工程中的Servlet共享。
启动时服务器创建
ServletConfig.getServletContext
ServletContext:
1.可以获取全局初始化参数
针对整个Web工程
在web.xml中配置初始化
ServletContext context= this.getServletContext();
context.getInitParameter("");
2.可以帮助我们让Servlet信息共享
ServletContext域对象 域(是一个Map 范围)
3.可以获取路径
4.其它功能
request:请求对象
response:相应对象
Http响应分为三个部分:响应状态行、响应头、响应正文
response.sendRedirect()
request获取请求参数:
request.getParameter();
public String getParameter(String name)
request.getParameterValues();
对于不是一个值的控制,在获取时要使用这个方法,例如:checkbox
public String getParameterValues(String name)
request.getParameternames()
获取表单中所有name值
getParameterMap
public Map<String,String[]> getParameterMap();
将请求参数的name作为key,以输入的值或选定的值作为value
Map遍历方法: for(String key : map.keySet()){
System( key+""+ Arrays.toString(map.get(key)) )
}
1.非空校验
String.trim().length()>0
2.规则校验
在正则规则校验
request域对象
只要是域对象就有 setAttribute() getAttribute() removeAttribute() getAttributenames()
请求转发代表服务器的内部跳转
rd = getRequestDispatcher("转发的路径")
rd.forward(servletRequest ,servletResponse)
重定向:
response.sendRedirect()
jsp:
<%! %>用于定义 成员 属性 方法 内部类
<% %>用于定义局部变量
<%= %>用于输出
Session服务器端会话域对象
Servlet三大域:
ServletContext 整个Web 应用
HttpSession 一次会话
HttpServletRequset 重定向产生的请求域中
PageContext表示页面域,也可以操作其它三大域:
void setAttribute(String key,Object value,int scope)
void removeAttribute(String key,int scope)
Object getAttribute(String key,int scope)
int Scope是常量
PageContext.PAGE_SCOPE 表示页面范围
PageContext.REQUEST_SCOPE 表示请求范围
PageContext.SESSION_SCOPE 表示会话范围
PageContext.APPLICATION_SCOPE 表示应用范围
PageContext.setAttribute("","",PageContext.APPLICATION_SCOPE)
//Java类中得到几大域数据的方法
public void m(PageContext p){
p.setAttribute(name, value, scope)
p.getRequest().setAttribute(name, o);
}
页面jsp内直接用:
request.setAttribute(name, o)
转发:PageContext.forward("/1.jsp")
EL:
{}用于输出 取出四大域对象数据
取出数的方法,先从域中找出 创建对应的对象,调用该类的Set方法。
- Java Servlet(数据传输 页面跳转 jsp)
- jsp,servlet页面跳转
- servlet跳转jsp页面
- servlet、jsp页面跳转
- jsp,servlet页面跳转 .
- servlet和jsp页面跳转
- servlet跳转到jsp页面
- Servlet, JSP实现页面跳转
- 从servlet跳转至jsp页面
- Servlet跳转到JSP页面出现乱码
- jsp/servlet页面跳转丢失样式问题
- jsp+servlet二、页面跳转方式
- jsp+servlet进行页面延时跳转
- jsp和servlet数据传输
- java jsp 实现页面跳转
- java web jsp 页面跳转
- servlet跳转到jsp页面,jsp样式失效怎么解决!
- Java 中的Servlet(四)——页面跳转
- 关于模块insmod和rmmod出错的解决方案
- Css的伪元素选择器
- 使用百度脑图kityminder-editor进行数据可视化二次开发
- qsort
- angular常见内置指令
- Java Servlet(数据传输 页面跳转 jsp)
- Unsafe--Java为什么会引入及如何使用Unsafe
- docker容器中查看容器linux版本
- json对象与json字符串相互转化
- 前端通过ajax解析字符串
- CentOS7 安装 Redmine+SVN+Apache+Mysql 环境
- Windows平台下OpenCV3源码编译(VS2013)
- CodeForces
- CSU1803: 2016(湖南省第十二届大学生计算机程序设计竞赛A)