相关疑难解决方法(0)

Java前端控制器

我正在考虑在我的J2EE应用程序中实现Front Controller.您能否提供相同的链接(包含源代码示例)和任何标准?

最好的祝福

jsp servlets front-controller java-ee

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

CRUD应用程序在一个控制器(servlet)中

美好的一天!

我打算做一个简单的CRUD应用程序.我打算让我的添加,编辑,删除和查看由一个控制器处理.像这样的东西:

@WebServlet(name="ControllerServlet",
            urlPatterns = {"/add","/edit","/delete","/view"}
Run Code Online (Sandbox Code Playgroud)

然后在我的控制器中使用此代码:

 String userPath = request.getServletPath();
    if (userPath.equals("/add")) {
 }
Run Code Online (Sandbox Code Playgroud)

但我不确定这是否是一种常见做法.无论如何,我想知道这是什么最好的做法?这样做的优点和缺点是什么,而不是分离每个控制器?

先感谢您.

java jsp servlets crud

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

隐藏直接访问JSP页面,但是如何访问目标页面?

下面的URL,所选答案中的第一个内容描述了JSP隐藏.

JSP/Servlet的隐藏功能

我到目前为止了解到我可以将jsp文件放在/ WEB-INF目录下.这样就可以防止用户直接访问http://test.com/WEB-INF/register.jsp(返回404)

我以为我理解但不想并且想要更好地描述,所以我在这里提出问题.

比方说,我有2个jsp文件.

web应用/ ROOT /针对home.jsp

web应用/ ROOT/WEB-INF/register.jsp

注意:/go_register映射到Registerweb.xml(DD)中的servlet类

针对home.jsp

<html>
<body>
  <a href="/go_register">Go to register.jsp</a>
<body>
</html>
Run Code Online (Sandbox Code Playgroud)

register.jsp

<html>
<body>
  <form method="post" action="/process_register">
  <input type="submit">
</form>
<body>
</html>
Run Code Online (Sandbox Code Playgroud)

所以..因为register.jsp位于/ WEB-INF /下,所以只有RequestDispatcher可以访问它.这意味着我需要创建用于转发请求的servlet.

public class Register extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String address = "/WEB-INF/register.jsp";
        request.getRequestDispatcher(address).forward(request, response);
    }
}
Run Code Online (Sandbox Code Playgroud)

但这看起来不对.如果我想将登录页面/WEB-INF/login.jsp添加到home.jsp,为了访问login.jsp,我必须创建另一个servlet 只是为了进入登录页面目的 ???

public class Login extends HttpServlet {

    public void doGet(HttpServletRequest request, …
Run Code Online (Sandbox Code Playgroud)

java jsp servlets hide

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

如何从Java类访问会话

我需要编写一个小型Java类,使我能够添加和读取当前用户会话.

我看到的一切都是指Servlets,但我最好只想使用一个普通的老类.

任何人都可以帮助这个Java新手吗?

谢谢

java servlets httpsession

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

使用servlet 3.0添加动态servlet会引发异常

我需要在运行时创建添加servlet.当我运行以下代码时.

protected void processRequest(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException 
    {

        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        try {

            out.println("<html>");
            out.println("<head>");
            out.println("<title> URI out</title>");
            out.println("</head>");
            out.println("<body>");
            Integer generatedKey = Math.abs(randomiser.nextInt());
            out.print(generatedKey);

            createServlet(Integer.toString(generatedKey),request.getServletContext());

        } finally {
            out.println("</body>");
            out.println("</html>");
            out.close();
        }
    }


    private void createServlet(String generatedKey, ServletContext servletContext) {
        String servletMapping = "/"+generatedKey;

 ServletRegistration sr = servletContext.addServlet(generatedKey, "com.path.lbs.servlets.testDynamic");

        sr.setInitParameter("keyname", generatedKey);
        sr.addMapping(servletMapping);

    }
Run Code Online (Sandbox Code Playgroud)

我收到以下错误.

java.lang.IllegalStateException:PWC1422:无法为servlet上下文/ 123-LBS的servlet 1114600676配置映射,因为此servlet上下文已经初始化

是否无法在运行时添加新的servlet,即在Servlet Context初始化之后或者我做错了什么?

java servlets glassfish

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

映射servlet以满足我的请求

我想映射一个servlet来提供包含'app'的请求,并以下面的方式结束*.html

<url-pattern>/app/*.html</url-pattern>
Run Code Online (Sandbox Code Playgroud)

但在运行应用程序时,它给了我一个错误

java.lang.IllegalArgumentException: Invalid <url-pattern> 
/app/*.html in servlet mapping
Run Code Online (Sandbox Code Playgroud)

请帮我映射一下.请提供我可以了解这些网址映射规则和约定的链接.

servlets

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

jsp useBean由servlet的getAttribute为NULL

user在servlet中为null.如果做错了请让我.

我试图获取bean rateCode.jsp中的所有html元素

<%@page import="com.hermes.data.RateCode_" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
    <head>
        <title>Rate Code</title>
    </head>
    <body>      
         <jsp:useBean id="user" class="com.hermes.data.RateCode_" scope="request" >
            <jsp:setProperty name="user" property="*"/></jsp:useBean>
            <form  id="f_rateCode" action="/ratePromoCodes" method="post"  >
                <table align="center" border="1" cellspacing="0">
                    <tr>
                        <td colspan="2" align="center" class="header">Rate Code Administrations</td>
                    </tr>
                    <tr>
                        <td align="right" style="border-style: solid;">Rate Code:</td>
                        <td align="left" style="border-style: solid;">
                            <input type="text" id="code" name="code" value="${user.code}"  size="10" maxlength="32" style="width: 100px"/>
                    </td>
                </tr>

                <tr>
                    <td align="right" style="border-style: solid;">Rate Description:</td>
                    <td align="left" style="border-style: solid;">
                        <input type="text" id="description" name="description" value="<%=user.getDescription()%>" …
Run Code Online (Sandbox Code Playgroud)

jsp servlets javabeans

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

@WebFilter 和 FacesContext.getCurrentInstance() -&gt; 空指针

在我的应用程序中,我有一个 WebFilter。这个 Webfilter 应该检查一个 coockie。但是使用 FacesContext.getCurrentInstance() 会导致 Nullpointer 异常。我该如何解决这个问题?

网络过滤器:

@Inject
private CookieManager cm;   

[...]

@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
    if(cm.isDoCheck()){
        cm.doCheck();
    }
    chain.doFilter(request, response);
}
[...]
Run Code Online (Sandbox Code Playgroud)

执行 FacesContext.getCurrentInstance() 的 CookieManager:

[...]
private void doCheck(){
    FacesContext context = FacesContext.getCurrentInstance();
    Map<String, Object> cookies = context.getExternalContext().getRequestCookieMap();

    Cookie cookie = (Cookie) cookies.get("frontend");
    if(cookie != null){
        setSessionHash(cookie.getValue());
    }
}
[...]
Run Code Online (Sandbox Code Playgroud)

context.getExternalContext().getRequestCookieMap(); 给出

StandardWrapperValve[Faces Servlet]: Servlet.service() for servlet Faces Servlet threw exception
java.lang.NullPointerException
Run Code Online (Sandbox Code Playgroud)

jsf servlet-filters

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

spring mvc 中的 Servlet

我对 servlet 和 spring mvc 有基本的了解。但是我不知道spring mvc中是否有servlet的使用。在 spring mvc 中,我们有控制器类。我的想法是servlet在spring mvc中用作控制器。如果我不正确,请纠正我。

spring servlets spring-mvc

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

以编程方式映射servlet,而不是使用web.xml或注释

如何在没有web.xml或注释的情况下以编程方式实现此映射?任务不是使用任何框架,如弹簧或其他东西.

<servlet>
    <servlet-name>hello</servlet-name>
    <servlet-class>test.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>hello</servlet-name>
    <url-pattern>/hello</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)

mapping servlets programmatic-config

4
推荐指数
2
解决办法
2886
查看次数