SERVLET - 技术教程文章

网页入口ControlServlet分析

init()configureBsf(); //配置自定义bsf,即在bean script中注册ofbiz实现的脚本引擎getRequestHandler(); //初始化request handler,即加载该模块的controller.xml doPost()->doGet() doGet()操作描述设置请求头设置charset,若ServletContext里有则取值,否则取request中的,再没有则设置为"UTF-8"设置响应头设置contentType为"text/html"和charsetGenericDelegator.pushUserIdentifier()若有:从会话中取出userLogin的userLogin...

http协议、servlet、web容器

http协议是一种数据传输协议,主要用于客户端与服务器之间数据的传递。工作原理是:客户端通过http协议发出request(由请求头、请求行、空格、消息体组成),当请求传到服务器时有两种情况:第一,当生成的网页是静态网页时,服务器直接通过http协议返回给客户端response(由响应头、响应行、空格、消息体组成),就这样,整个流程结束。第二,当服务器接收到需要生成动态网页的 命令时,服务器自己不能生成,需要借助web容器生成,...

Servlet的初始化参数【代码】【图】

确保接收和输出的数据不出现乱码。需要对request和response进行转码request.setCharacterEncoding(charset);response.setCharacterEncoding(charset);response.setContentType("text/html;charset=" + charset); 但这样编写容易出现书写错误,而且当需要改变编码时,需要逐个替换。为保证编码书写的一致性和后期的可维护性,可以把编码定义在web.xml文件中配置Servlet初始化参数在web.xml文件中对应Servlet节点中定义init-param子节...

如何让struts2和servlet的共存

一、问题的提出 先让我们看下web.xml中struts2和servlet的配置: <!-- struts2拦截页面请求的配置 --> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- servlet的配置 ...

HttpServletRequst方法

协议:request.getProtocol()输出:HTTP/1.1服务器信息 getServletConfig().getServletContext().getServerInfo()输出:JavaServer Web Dev Kit/1.0 EA (JSP 1.0; Servlet 2.1; Java 1.2; Windows NT 5.0 x86; java.vendor=Sun Microsystems Inc.)客户端IP: request.getRemoteAddr()输出:192.168.0.106客户端主机名:request.getRemoteHost()输出:abc编码:request.getCharacterEncoding()输出:GB2312所发送的字节数:request.g...

Java异常处理003:Springboot启动报Unable to start EmbeddedWebApplicationContext due to missing EmbeddedServletContainerFactory bean异常【代码】

Java异常处理003:Springboot启动报Unable to start EmbeddedWebApplicationContext due to missing EmbeddedServletContainerFactory bean异常异常日志 org.springframework.context.ApplicationContextException: Unable to start embedded container; nested exception is org.springframework.context.ApplicationContextException: Unable to start EmbeddedWebApplicationContext due to missing EmbeddedServletContainerFac...

《Head First Servlets & JSP》-6-会话管理-listener etc. demo【代码】【图】

工程结构上下文参数示例示例程序展示了如何从上下文读取参数,并在上下文监听器中生成属性对象和在上下文中设置属性。建立一个简单的JavaBean对象作为属性:Dog.javapackage com.example.entities;/** * Created by LTN on 2016/11/2. */publicclassDog{privateString breed;publicDog(String breed){this.breed = breed;}publicString getBreed(){return breed;}}建立一个servlet上下文监听器DogServletContextListener.javapacka...

Servlet的客户端请求【代码】【图】

以下内容引用自http://wiki.jikexueyuan.com/project/servlet/client-request.html:当浏览器请求网页时,它会向Web服务器发送大量信息,这些信息不能被直接读取,因为这些信息是作为HTTP请求头的一部分行进的。以下是来自浏览器端的重要的头信息,会在Web编程中频繁的使用:头信息描述Accept这个头信息指定浏览器或其他客户端可以处理的MIME类型。值image/png或image/jpeg是最常见的两种可能值。Accept-Charset这个头信息指定浏览...

【Head First Servlets and JSP】笔记7:如何创建一个全局的dog?【代码】【图】

重定向与请求分派“局部”参数——ServletConfig——servlet初始化参数“全局”参数——ServletContext——上下文初始化参数Web app的“构造器”——ServletContextListener实战:如何创建一个全局的dog? 1、重定向与请求分派。 resp.sendRedirect("http://www.cnblogs.com/xkxf/"); RequestDispatcher view = req.getRequestDispatcher("result.jsp"); // 为JSP实例化一个请求分派器 view.forward(req, resp); // ...

关于request.getServletPath(),request.getContextPath()的总结【代码】

最近对于request中的几种“路径”有点混淆,查找网上资源都没有很好的总结,希望此文章能够帮助我理解一下这几种“路径”。 +++++++++++++++++++++++++++++++++++++++++++++++++ 本文章主要讨论以下几种request获取路径的方法:request.getServletPath() request.getPathInfo() request.getContextPath() request.getRequestURI() request.getRequestURL() request.getServletContext().getRealPath() 以一个简单的例子说明: web...

Servlet配置与资源参数

import java.io.*; import javax.servlet.*; import javax.servlet.http.*;// 继承HttpServlet 类 public class HelloWorld extends HttpServlet {private String message;public void init() throws ServletException{// 执行必需的初始化message = "Hello World";} //此方法用来处理GET请求public void doGet(HttpServletRequest request,HttpServletResponseresponse)throws ServletException,IOException{// 设置响应内容类型r...

不同版本(2.3,2.4,2.5)的Servlet web.xml 头信息

Servlet 2.3<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"><web-app> ...</web-app>Servlet 2.4<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:web="http://java.sun.com/...

JavaWeb+JDBC+Servlet+SqlServer实现登录功能【代码】【图】

首先创建javaweb项目,可以参照以下:https://blog.csdn.net/u012532559/article/details/51013400附上项目结构:1.重写登录页面index.jsp的内容<%--Created by IntelliJ IDEA.User: LXJ‘PCDate: 2018/5/12Time: 15:49To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html><head><title>登录</title></head><body><div id="container" ...

filter、servlet引用springmvc注解【代码】

概述:最近做的两个项目都用到了,所以想着把它整理起来方便以后用,不多说了,现在就将代码附上我的活动平台filter:public class SysFilter implements javax.servlet.Filter { private IUserService userService; private IBasDao basDao; @Override//在其初始化的时候获取 public void init(FilterConfig filterConfig) throws ServletException { //这里面才是关键所在 ServletContext context = f...

解决: Intelij IDEA 创建WEB项目时没有Servlet的jar包【图】

今天创建SpringMVC项目时 用到HttpServletRequest时, 发现项目中根本没有Servlet这个包, 在网上搜了一下,这个问题是因为web项目没有添加服务器导致的.配置tomecat 服务器接着:现在问题已经解决..IDEA虽然使用的还不熟练,但大家要慢慢习惯哦,工作中这个IDE用的还是很普遍的.加油小伙伴们!原文:https://www.cnblogs.com/ifeil/p/9378921.html

学习笔记(三)GenericServlet HttpServlet 转发和重定向 JSP及隐含对象 域对象

7. MVC 设计模式.6. 和属性相关的方法:1). 方法void setAttribute(String name, Object o): 设置属性 Object getAttribute(String name): 获取指定的属性Enumeration getAttributeNames(): 获取所有的属性的名字组成的 Enumeration 对象removeAttribute(String name): 移除指定的属性 2). pageContext, request, session, application 对象都有这些方法!这四个对象也称之为域对象. pageContext: 属性的作用范围仅限于当前 JSP 页面...

[javaEE] Servlet的手动配置【代码】

一.Servletsun提供的一种动态web资源开发技术,本质上就是一段java小程序,可以将Sevlet加入到Servlet容器中*Servlet容器 -- 能够运行Servlet的环境就叫做Sevlet容器 -- tomcat*web容器 -- 能够运行web应用的环境就叫做web容器 -- tomcat 写一个类实现sun公司定义的Servlet接口将写好的类配置到tomcat中 定义一个类MyServlet继承GenericServlet类,实现它的抽象方法service()public void service(ServletRequest req, ServletResp...

Servlet单实例多线程模式

转载自:http://kakajw.iteye.com/blog/920839个人理解:一个HttpServlet子类只实例化一次,对每一次请求都会交由从线程池中取得一个工作线程去响应。由于Context容器从web服务器得到请求并封装了两个对象HttpServletRequest和HttpServletResponse,那么每一次Http请求的时候,就会有一个新的线程来接收这两个对象,并将响应交给容器,这样每个线程对应的Response和Request都是不一样的,不存在共享的情况。 前言:Servlet/JSP技术...

ajax_servlet数据交互实例(一)

java代码package action;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/** * Servlet implementation class getAjaxServlet */public class getAjaxServlet extends HttpServlet { private static final long serialVersionUID = 1L; prote...

Servlet和JSP的本质和区别

基本概念 Servlet Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。 Servlet是位于Web 服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。 ...

ajax jQuery+servlet【代码】【图】

编写具体的Ajax代码,使用jQuery框架将会节省很多的时间,当我们点击按钮的时候,将一些信息收集起来,然后通过Ajax传递到服务端,然后使用布局修改DOM来实现无刷新的效果。 要想实现ajax,先来看一下$.ajax()的一些常用属性吧: 下面通过Ajax实现登录信息的验证,先来看一下以"GET"的请求方式:jQuery代码: 1 <script type="text/javascript" src="<%=basePath%>/Js/jquery-1.8.3.js"></script>2 <script type="text/javascript"...

Servlet动态验证码的生成-带数字和字母【图】

林炳文Evankaka原创作品。转载请注明出处http://blog.csdn.net/evankaka一、实现的思路: (1)首先,需要创建一个Servlet。该Servlet通过字节型响应给客户端返回一个图片,该图片是通过JDK中Java 2D的类库来生成一个图片。图片的生成是依靠一个随机数来完成,然后将这个随机数写成图片格式。最后在Session将这个随机的字符串的状态保持住,以便在用户填写后进行对比。 (2)其次,在需要加入验证码的JSP页面中,通过<img src="生成...

Servlet的线程是不是共享同一个requset对象及servlet多线程

一,servlet容器如何同时处理多个请求。Servlet采用多线程来处理多个请求同时访问,Servelet容器维护了一个线程池来服务请求。线程池实际上是等待执行代码的一组线程叫做工作者线程(Worker Thread),Servlet容器使用一个调度线程来管理工作者线程(Dispatcher Thread)。当容器收到一个访问Servlet的请求,调度者线程从线程池中选出一个工作者线程,将请求传递给该线程,然后由该线程来执行Servlet的service方法。当这个线程正在执行...

MyEclipse2013和SQLserver2008简单的注册/登录/修改密码servlet实现

原文:MyEclipse2013和SQLserver2008简单的注册/登录/修改密码servlet实现 源代码下载地址:http://www.zuidaima.com/share/1550463723506688.htm 1、myEclipse20132、tomcat7.0 3、SQLserver2008 MyEclipse2013 "UTF-8" SQLserver2008 数据库为db_user,表为user 可以导入SQL文件,执行以下。也可以自己创建一个数据库和数据表,在util包里修改数据库名字,和dao包里修改数据库表名。原文:http://blog.csdn.net/springmvc_spr...

Java Servlet 技术

1,servlet是什么java servlet 是使用java Servlet应用程序设计接口及相关类和方法的java程序。除了java servlet api,servlet还可以使用用以扩展和添加到api的java类软件包。servlet在启用java的web服务器上或应用服务器上运行并扩展了该服务器的能力。java servlet 对于web服务器就好像java applet对于web浏览器。servlet装入web服务器并在web服务器内执行,而applet装入web浏览器并在web浏览器内执行。java servlet api 定义了一...

JSP与Servlet几种页面跳转的区别【代码】

Servlet: 当然,在servlet中,一般跳转都发生在doGet, doPost等方法里面。 1) redirect 方式 response.sendRedirect("/a.jsp"); 页面的路径是相对路径。sendRedirect可以将页面跳转到任何页面,不一定局限于本web应用中,如: response.sendRedirect("http://www.ycul.com"); 跳转后浏览器地址栏变化。 这种方式要传值出去的话,只能在url中带parameter或者放在session中,无法使用request.setAttribute来传递。 2) forward方式 R...

Java-Servlet -Helloworld【图】

要查看帮助文件请到 JAVAEE的chm文件中看 ,如《java_ee_api_中英文对照版.chm》;jdk 帮助文件中没有 servlet帮助信息。 原文:http://www.cnblogs.com/rogge7/p/6872693.html

Gradle构建Java Web应用:Servlet依赖与Tomcat插件(转)【代码】【图】

Gradle的官方tutorial介绍了构建Java Web应用的基本方法。不过在使用Servlet做上传的时候会碰到问题。这里分享下如何通过Servlet上传文件,以及如何使用Gradle来构建相应的Java Web工程。参考原文:How to Build Web Scanning Application with GradleServlet文件上传使用Servlet文件上传,可以参考Oracle的官方文档The fileupload Example Application。这里需要注意的一个问题就是要接收multipart/form-data数据,在Servlet中必须...

Servlet 监听器

在Servlet API中有一个ServletContextListener接口,它能够监听ServletContext对象的生命周期,实际上就是监听Web应用的生命周期。 当Servlet容器启动或终止Web应用时,会触发ServletContextEvent事件,该事件由 ServletContextListener 来处理。在 ServletContextListener 接口中定义了处理 ServletContextEvent事件的两个方法。 contextInitialized(ServletContextEvent sce):当Servlet容器启动Web应用时调用该方法。在调用...

web.xml 中的listener、 filter、servlet 加载顺序及其详解【转】【代码】

在项目中总会遇到一些关于加载的优先级问题,刚刚就遇到了一个问题,由于项目中使用了quartz任务调度,quartz在web.xml中是使用listener进行监听的,使得在tomcat启动的时候能马上检查数据库查看那些任务未被按时执行,而数据库的配置信息在是在web.xml中使用servlet配置的,导致tomcat启动后在执行quartz任务时报空指针,原因就是servlet中的数据库连接信息未被加载。网上查询了下web.xml中配置的加载优先级:首先可以肯定的是,加...