相关疑难解决方法(0)

如何在index.jsp上加载servlet

有没有办法调用servlet index.jsp?我的欢迎档案是index.jsp.我需要在index.jsp打开时通过servlet填充下拉列表值.

我试图设置<load-on-startup>web.xml,但没有任何效果.如何获取欢迎文件index.jsp来调用servlet?

jsp servlets welcome-file

6
推荐指数
1
解决办法
3万
查看次数

无法在web.xml中解析Servlet

由于某种原因想法灯调度程序servlet和我启动tomcat时得到404错误.我使用的是spring mvc和Maven,这是web.xml的图片web.xml中 感谢每个答案=)webapp/web.xml

<web-app xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="
        http://java.sun.com/xml/ns/javaee
        http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
         version="3.0">
    <servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
</web-app>
Run Code Online (Sandbox Code Playgroud)

java spring servlets maven tomcat7

6
推荐指数
1
解决办法
6621
查看次数

servlet url匹配模式中/和/*之间的区别

可能重复:
Servlet映射/ vs/*

servlet url映射中'/'和'/*'有什么区别?

因为我正在阅读春天的书,我找到了这些话:

接下来,我们必须指出DispatcherServlet将处理哪些URL.通常会发现DispatcherServlet映射到URL模式,例如.htm,/或/ app.但是这些URL模式存在一些问题:

  • *.htm模式意味着响应将始终采用HTML格式(正如我们将在第11章中学到的那样,并不一定如此).
  • 将其映射到/*并不意味着任何指定的响应类型,但表示DispatcherServlet将为所有请求提供服务.这使得服务静态内容(如图像和样式表)比必要更困难.
  • / app模式(或类似的东西)帮助我们区分Dispatcher-Servlet提供的内容与其他类型的内容.但是我们在URL中公开了一个实现细节(特别是/ app路径).这导致复杂的URL重写策略隐藏/ app路径.

而不是使用任何有缺陷的servlet映射方案,我更喜欢像这样映射DispatcherServlet:

<servlet-mapping>
  <servlet-name>spitter</servlet-name>
  <url-pattern>/</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)

通过将DispatcherServlet映射到/,我说它是默认的servlet,并且它将负责处理所有请求,包括对静态内容的请求.

根据上面的话,似乎'/'和'/*'都将服务于所有请求.

有什么不同?

servlets url-pattern

5
推荐指数
1
解决办法
2107
查看次数

在 web.xml 中将 servlet 设置为默认主页

我在web.xml下面注册了一个 servlet 。

<servlet>
    <servlet-name>Manager</servlet-name>
    <servlet-class>Manager</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>Manager</servlet-name>
    <url-pattern>/RequestManager</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)

基本上,当我打开http://localhost:8080/appname. 因此,我尝试将其注册为欢迎文件,web.xml如下所示:

<welcome-file-list>
    <welcome-file>Manager</welcome-file>
</welcome-file-list>
Run Code Online (Sandbox Code Playgroud)

但是,当我运行该项目时,我收到一条错误消息,提示“请求的资源不可用”。但是,如果我用我的 servlet URL 模式在 url 中写入,它就可以正常工作。

web.xml servlets welcome-file

5
推荐指数
1
解决办法
2万
查看次数

<url-pattern>/</ url-pattern>和<url-pattern>/*</ url-pattern>之间的差异

web.xml中/和/*有什么区别?

对于调度程序servlet /使用,我想这意味着所有的请求.在这种情况下,url-pattern"/*"是什么意思?

spring

4
推荐指数
1
解决办法
1656
查看次数

如何将 servlet 映射到 /*,它因无限循环而失败并最终出现 StackOverflowError

我想将我的 servlet 映射到/*,但它因无限循环而失败。

<servlet>
    <servlet-name>helloServlet</servlet-name>
    <servlet-class>my.HelloServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>helloServlet</servlet-name>
    <url-pattern>/*</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)

Java代码是:

public class HelloServlet extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response){
        request.getRequestDispatcher("/WEB-INF/jsps/hello.jsp").forward(request, response);
    }

}
Run Code Online (Sandbox Code Playgroud)

如果我映射到/hello,一切正常。

HelloServlet映射到 时/*,它也会被调用RequestDispatcher#forward()并导致无限循环。

这是怎么引起的,我该如何解决?

mapping servlets infinite-loop

3
推荐指数
1
解决办法
3368
查看次数

Java EE应用程序中的样式路径

我有一个Java EE应用程序,在应用程序中我有以下结构.

WEB-INF
    layout
        header.jsp
    styles
        main.css
Run Code Online (Sandbox Code Playgroud)

我想包括在main.cssheader.jsp.我试图用以下内容(其中......是路径):

<link rel="stylesheet" href="..."> 
Run Code Online (Sandbox Code Playgroud)

但是,我似乎无法找到正确的道路.我已经尝试过以下各项而没有运气:

../styles/main.css
/styles/main.css
styles/main.css
/WEB-INF/styles/main.css
WEB-INF/styles/main.css
Run Code Online (Sandbox Code Playgroud)

什么是正确的道路?

html css java path

1
推荐指数
1
解决办法
6058
查看次数

Spring:servlet-mapping - > url-pattern:/*工作但无法显示

web.xml中

<servlet>
    <servlet-name>dispatcher</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/spring/webmvc-config.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>dispatcher</servlet-name>
    <url-pattern>/*</url-pattern>
</servlet-mapping>

<welcome-file-list>
    <welcome-file>/</welcome-file>
</welcome-file-list>
Run Code Online (Sandbox Code Playgroud)

/WEB-INF/spring/webmvc-config.xml

<bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
    <property name="mediaTypes">
        <map>
            <entry key="atom" value="application/atom+xml" />
            <entry key="html" value="text/html" />
            <entry key="json" value="application/json" />
        </map>
    </property>
    <property name="viewResolvers">
        <list>
            <bean class="org.springframework.web.servlet.view.BeanNameViewResolver" />
            <bean
                class="org.springframework.web.servlet.view.InternalResourceViewResolver">
                <property name="prefix" value="/WEB-INF/views/" />
                <property name="suffix" value=".jsp" />
            </bean>
        </list>
    </property>
    <property name="defaultViews">
        <list>
            <bean class="org.springframework.web.servlet.view.json.MappingJacksonJsonView" />
        </list>
    </property>
</bean>
Run Code Online (Sandbox Code Playgroud)

调节器

@Controller
@RequestMapping ( "/" )
public class IndexController extends BaseController
{
    @RequestMapping ( "/" …
Run Code Online (Sandbox Code Playgroud)

java spring jsp servlets spring-mvc

1
推荐指数
1
解决办法
1万
查看次数

我的jsp文件找不到我的javascript文件

我的jsp文件找不到我的javascript文件.在这里你可以看到我的jsp文件:

    <!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<script src="ressources/js/addMatrix.js"></script>
</head>
<body>
    <div ng-app="App" ng-controller="MainCtrl">
        <p>Add a new element : </p>
        <table>
            <tr>
                <td data-ng-repeat="data in texts">
                    <button>{{data.text}}</button>
                </td>
                <td data-ng-repeat="field in fields">
                    <form ng-submit="submit(text)">
                        <input type="text" ng-model="text" name="text"
                            placeholder="New Category" />
                    </form>
                </td>
                <td>
                    <button ng-click="addNewChoice()">+</button>
                </td>
            </tr>
        </table>
    </div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

我的javascript文件位于文件夹/ WebContent/ressources/js中,jsp文件位于文件夹/ WebContent中.

我的servlet只在get方法中包含这个调用:

this.getServletContext().getRequestDispatcher("/index.jsp").forward(req, resp);
Run Code Online (Sandbox Code Playgroud)

我的web.xml文件如下所示:

 <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
 <servlet>
    <servlet-name>Home</servlet-name>
    <servlet-class>com.pi.servlets.Index</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>Home</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping> …
Run Code Online (Sandbox Code Playgroud)

java jsp servlets

0
推荐指数
1
解决办法
3227
查看次数