Red de conocimiento informático - Espacio del host - Utilizo Myeclipse para desarrollar proyectos web. Cuando el servidor usa Tomcat, el acceso al nombre de dominio siempre es inaccesible.

Utilizo Myeclipse para desarrollar proyectos web. Cuando el servidor usa Tomcat, el acceso al nombre de dominio siempre es inaccesible.

lt;?xml?version="1.0"?encoding="UTF-8"?gt;?

lt;web-app?version="3.0"?xmlns= "/xml/ns/javaee"? ¿Cómo resolver el problema de codificación de cadenas transmitidas desde la página en el marco Spring?

Echemos un vistazo al filtro CharacterEncodingFilter proporcionado por el marco Spring. Este filtro está diseñado para filtrar cada solicitud del navegador y luego agrega funciones que la clase principal no tiene, es decir, procesamiento. Codificación de caracteres. ? Entre ellos, la codificación se usa para establecer el formato de codificación y forceEncoding se usa para establecer si se ignora el método request.getCharacterEncoding (). Si se establece en verdadero, se fuerza la sobrescritura del formato de codificación. --gt;?

lt;filtergt;?

lt;filter-namegt;characterEncodingFilterlt;/filter-namegt;?

lt;filter-classgt ;org.springframework.web.filter.CharacterEncodingFilterlt;/filter-classgt;?

lt;init-paramgt;?

lt;param-namegt;encodinglt;/param-namegt ;?

lt;param-valuegt;UTF-8lt;/param-valuegt;?

lt;/init-paramgt;?

lt;init -paramgt;?

lt;param-namegt;forceEncodinglt;/param-namegt;?

lt;param-valuegt;truelt;/param-valuegt;?

lt;/init-paramgt;?

lt;/filtergt;?

lt;filter-mappinggt;?

lt;filter-namegt ;characterEncodingFilterlt;/filter-namegt;?

lt;url-patterngt;/*lt;/url-patterngt;?

lt;/filter-mappinggt;?

lt;!--¿Cuando se utiliza Spring? en el proyecto, no hay BeanFactory en el archivo de configuración applicationContext.xml. ¿Quiere hacer referencia directamente a los beans administrados por el contenedor Spring en el archivo de clase? capa, puede utilizar los siguientes métodos: -gt;?

lt;!--1 Configure el oyente ContextLoaderListener en web.xml--gt;?

lt;! --La ​​función de ContextLoaderListener es iniciar el contenedor web. Cuando, la información de configuración de ApplicationContext se ensambla automáticamente.

Debido a que implementa la interfaz ServletContextListener, configure este oyente en web.xml y, cuando se inicie el contenedor, el método que implementa se ejecutará de forma predeterminada. ?

La clase ContextLoader está asociada con ContextLoaderListener, por lo que ContextLoader completa todo el proceso de carga y configuración. ?

¿Su descripción de API?

El primer párrafo explica que ContextLoader puede ser generado por ?ContextLoaderListener y ContextLoaderServlet. ?

Si observa la API de ContextLoaderServlet, ¿puede ver que también está asociada con la clase ContextLoader e implementa la interfaz HttpServlet?

En el segundo párrafo, ¿qué ContextLoader crea es?XmlWebApplicationContext como esta Una clase, la interfaz que implementa es WebApplicationContext-gt; ConfigurableWebApplicationContext-gt; ApplicationContext-gt;?

BeanFactory ¿De esta manera, todos los beans en primavera son creados por esta clase? ?uploadmanager?=? (IUploaddatafileManager)ContextLoaderListener.getCurrentWebApplicationContext().getBean("uploadManager"); --gt;?

lt;listenergt;?

lt;listener-classgt ;org.springframework.web.context.ContextLoaderListenerlt;/listener-classgt;?

lt;/listenergt;?

lt;!--2. --gt;?

lt;!--Si no escribe ninguna información de configuración de parámetros en web.xml, la ruta predeterminada es "/WEB-INF/applicationContext.xml,?

En WEB-INF, ¿el nombre del archivo xml creado en el directorio debe ser applicationContext.xml?

Si desea personalizar el nombre del archivo, puede agregar el parámetro de contexto contextConfigLocation a web. xml: ?

En lt;param-valuegt;?lt;/param-valuegt;Especifique el nombre del archivo xml correspondiente. Si hay varios archivos xml, se pueden escribir juntos y separarlos con ",". ?

Además, puede utilizar comodines en applicationContext-*.xml. Por ejemplo, si hay applicationContext-ibatis-base.xml, ?

applicationContext-action.xml. -ibatis-dao.xml y otros archivos en este directorio, se cargarán todos juntos. ?

La clase ContextLoader está asociada con ContextLoaderListener, por lo que ContextLoader completa todo el proceso de carga y configuración.

--gt;?

lt;context-paramgt;?

lt;param-namegt;contextConfigLocationlt;/param-namegt;?

lt;param -valuegt; classpath: spring/applicationContext.xmllt;/param-valuegt;?

lt;/context-paramgt;?

lt;!--Si su DispatcherServlet intercepta " / ", para implementar el estilo REST, se interceptan todas las solicitudes y también se intercepta el acceso a archivos estáticos como *.js y *.jpg. --gt;?

lt;!--Opción 1: Activar el Servlet predeterminado de Tomcat para procesar archivos estáticos--gt;?

lt;!--Escribir en DispatcherServlet antes , deje que el servlet predeterminado intercepte la solicitud primero, para que la solicitud no ingrese a Spring. Creo que el rendimiento es el mejor.

--gt;?

lt;servlet-mappinggt;?

lt;servlet-namegt;defaultlt;/servlet-namegt;?

lt;url -patterngt;*.csslt;/url-patterngt;?

lt;/servlet-mappinggt;?

lt;servlet-mappinggt;?

lt ;servlet-namegt;defaultlt;/servlet-namegt;?

lt;url-patterngt;*.swflt;/url-patterngt;?

lt;/servlet-mappinggt; ?

lt;servlet-mappinggt;?

lt;servlet-namegt;defaultlt;/servlet-namegt;?

lt;url-patterngt;* .giflt;/url-patterngt;?

lt;/servlet-mappinggt;?

lt;servlet-mappinggt;?

lt;servlet-namegt ;defaultlt;/servlet-namegt;?

lt;url-patterngt;*.jpglt;/url-patterngt;?

lt;/servlet-mappinggt;?

lt;servlet-mappinggt;?

lt;servlet-namegt;defaultlt;/servlet-namegt;?

lt;url-patterngt;*.pnglt;/ url-patterngt;?

lt;/servlet-mappinggt;?

lt;servlet-mappinggt;?

lt;servlet-namegt;defaultlt;/ servlet-namegt;?

lt;url-patterngt;*.jslt;/url-patterngt;?

lt;/servlet-mappinggt;?

lt;servlet-mappinggt;?

lt;servlet-namegt;defaultlt;/servlet-namegt;?

lt;url-patternngt;*.htmllt;/url-patternngt; ?

lt;/servlet-mappinggt;?

lt;servlet-mappinggt;?

lt;servlet-namegt;defaultlt;/servlet-namegt; ?

lt;url-patterngt;*.xmllt;/url-patterngt;?

lt;/servlet-mappinggt;?

lt;servlet- mapeogt;?

lt;servlet-namegt;defaultlt;/servlet-namegt;?

lt;url-patternngt;*.jsonlt;/url-pat

terngt;?

lt;/servlet-mappinggt;?

lt;servlet-mappinggt;?

lt;servlet-namegt;defaultlt;/servlet- namegt;?

lt;url-patterngt;*.maplt;/url-patterngt;?

lt;/servlet-mappinggt;?

lt; !--Al usar Spring MVC, configurar DispatcherServlet es el primer paso. DispatcherServlet es un servlet, por lo que se pueden configurar varios DispatcherServlets--gt;?

lt;!--DispatcherServlet es un controlador de interfaz de usuario configurado en el archivo web.xml. Para interceptar solicitudes coincidentes, usted mismo debe definir las reglas de coincidencia de interceptación de Servlet y las solicitudes interceptadas se distribuyen al Controlador de destino (la Acción que escribimos) para su procesamiento de acuerdo con ciertas reglas. --gt;?

lt;servletgt;?

lt;servlet-namegt;DispatcherServletlt;/servlet-namegt;lt;!--Durante el proceso de inicialización de DispatcherServlet, el framework Buscará el archivo de configuración llamado [servlet-name]-servlet.xml en la carpeta WEB-INF de la aplicación web y generará los beans definidos en el archivo. --gt;?

lt;servlet-classgt;org.springframework.web.servlet.DispatcherServletlt;/servlet-classgt;?

lt;!--Especifica el archivo de configuración Para el nombre del archivo, no utilice el nombre del archivo de configuración predeterminado, sino el archivo de configuración Dispatcher-servlet.xml.

--gt;?

lt;init-paramgt;?

lt;param-namegt;contextConfigLocationlt;/param-namegt;?

lt;! --where lt; param-valuegt; **.xmllt; / param-valuegt;? Puede utilizar una variedad de métodos de escritura: gt;?

lt;!--1. utilice el valor predeterminado:/WEB-INF/lt;servlet-namegt;-servlet.xml--gt;?

lt;!--2,lt;param-valuegt;/WEB- INF/classes/dispatcher -servlet.xmllt;/param-valuegt;--gt;?

lt;!--3,lt;param-valuegt;classpath*: Dispatcher-servlet.xmllt;/ param-valuegt;- -gt;?

lt;!--4. Varios valores están separados por comas--gt;?

lt; : spring/dispatcher-servlet xmllt;/param-valuegt;?

lt;/init-paramgt;?

lt;load-on-startupgt;1lt;/load-. on-startupgt;lt;! -- es la secuencia de inicio, que permite que este Servlet se inicie junto con el contenedor de Servletp. --gt;?

lt;/servletgt;?

lt;servlet-mappinggt;?

lt;!--El nombre de este Servlet es Dispatcher, puede haber varios DispatcherServlets, distinguidos por su nombre. Cada DispatcherServlet tiene su propio objeto de contexto WebApplicationContext. El ServletContext y el objeto Request se guardan al mismo tiempo.--gt;?

lt;!--ApplicationContext es el núcleo de Spring. Generalmente interpretamos Context como el entorno de contexto que quiero usar. "contenedor" para expresarlo Es más fácil de entender, ApplicationContext es el "contenedor de aplicaciones": P, Spring coloca el Bean en este contenedor y, cuando sea necesario, usa el método getBean para sacarlo--gt;?

lt; servlet -namegt; DispatcherServletlt;/servlet-namegt;?

lt;!--Las reglas de coincidencia de interceptación de servlets se pueden personalizar cuando se asignan a @RequestMapping("/user/add" ), por ejemplo, interceptación ¿Qué URL es apropiada? --gt;?

lt;!--1. Interceptar *.do, *.htm,? Por ejemplo: /user/add.do, esta es la forma más tradicional, la más sencilla y la más sencilla. práctico . No hará que se intercepten archivos estáticos (jpg, js, css). --gt;?

lt;!--2. Interceptar /, por ejemplo: /user/add, que puede implementar el ahora popular estilo REST. A muchas aplicaciones de tipo Internet les gusta este estilo de URL. Desventajas: hará que los archivos estáticos (jpg, js, css) sean interceptados y no se puedan mostrar normalmente.

?--gt;?

lt;url-patterngt;/lt;/url-patterngt;?lt;!--Interceptará las solicitudes con "/" en la URL. --gt;?

lt;/servlet-mappinggt;?

lt;welcome-file-listgt;lt;!--Especifica la página de bienvenida--gt;?< / p>

lt;bienvenido-filegt;login.htmllt;/bienvenido-filegt;?

lt;/bienvenido-file-listgt;?

lt;error- pagegt ;?lt;!--Cuando ocurra un error 404 en el sistema, salte a la página nopage.html--gt;?

lt;error-codegt;404lt;/error-codegt;?

lt;ubicacióngt;/nopage.htmllt;/ubicacióngt;?

lt;/error-pagegt;?

lt;error-pagegt;?lt ;!-- Cuando ocurre una java.lang.NullPointerException en el sistema, salte a la página error.html--gt;?

lt;exception-typegt;java.lang.NullPointerExceptionlt;/exception- typegt;?

lt;locationgt;/error.htmllt;/locationgt;?

lt;/error-pagegt;?

lt;session-configgt ;lt;!--Configuración del tiempo de espera de sesión, unidad minuto--gt;?

lt; session-timeoutgt;/session-timeoutgt;?

lt;/session- configgt;?

lt;/web-appgt;